प्रौद्योगिकी साझेदारी

lua (2) - दत्तांशप्रकारैः सह आरम्भः

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

प्रस्तावना

अयं लेखः सन्दर्भितः अस्ति :लुआ डेटा प्रकार |.

ये अधिकं ज्ञातुम् इच्छन्ति तेषां कृते उपरि लिङ्क् पश्यन्तु :

अष्ट मूलप्रकाराः

type - दत्तांशप्रकारं द्रष्टुं कार्यम् : १.

परीक्षणकार्यक्रमः : १.

  1. print(type("Hello world")) --> string
  2. print(type(10.4*3)) --> number
  3. print(type(print)) --> function
  4. print(type(type)) --> function
  5. print(type(true)) --> boolean
  6. print(type(nil)) --> nil
  7. print(type(type(X))) --> string
  8. print(type(Y)) -->nil
  9. print(type('Y')) -->string

प्रभावप्रदर्शनम्

भवन्तः द्रष्टुं शक्नुवन्ति यत् अत्र वयं यत् type(Y) output कुर्मः सः nil type अस्ति, किमर्थम्? अग्रिमः शून्यः (रिक्तः) भवतः कृते प्रदर्शितः भविष्यति।

शून्य (रिक्त) २.

nil प्रकारः एकं प्रकारं प्रतिनिधियति यस्य वैधं मूल्यं नास्ति - उदाहरणार्थं, असाइनमेण्ट् विना चरस्य मुद्रणं nil मूल्यं निर्गच्छति:

अप्रारम्भिक चर प्रकार - nil

यथा : प्रारम्भिकमूल्यानि न नियुक्तानि त्रयाणां चरानाम् आउटपुट् प्रकाराः सर्वे शून्याः सन्ति ।

nil सारणीयां कील-मूल्ययुग्मानि विलोपयति

परीक्षण कार्यक्रम

  1. tab1 = { key1 = "val1", key2 = "val2",
  2. "val3","val4",key3 = "val5" }
  3. for k, v in pairs(tab1) do
  4. print(k .. " - " .. v)
  5. end
  6. print("=========直接输出=============")
  7. tab1.key1 = nil
  8. for k, v in pairs(tab1) do
  9. print(k .. " - " .. v)
  10. end
  11. print("============删除key1后==========")
  12. tab1.key3 = nil
  13. for k,v in pairs(tab1) do
  14. print(k.. " - "..v)
  15. end
  16. print("=========删除key3后============")

संचालन परिणाम

वैश्विकचरानाम् सारणीनां च कृते nil इत्यस्य "विलोपन" प्रभावः अपि भवति ।

nil द्विगुणोद्धरणैः सह तुलना कर्तव्या " ।

type(X)==nil परिणामः भवतिअसत्यकारणं यत् type(X) मूलतः प्रत्यागतं "nil" स्ट्रिंग् अस्ति, यत् स्ट्रिंग् प्रकारः अस्ति:

बूलियन इति

बूलियन प्रकारस्य केवलं द्वौ वैकल्पिकौ मूल्यौ स्तः: true (true) तथा false (false) Lua false तथा nil इत्येतत् false इति व्यवहरति, अन्यत् सर्वं च सत्यम् अस्ति ।

परीक्षण कार्यक्रम

  1. print(type(true))
  2. print(type(false))
  3. print(type(nil))
  4. if false or nil then
  5. print("至少有一个是 true")
  6. else
  7. print("false 和 nil 都为 false")
  8. end
  9. if 0 then
  10. print("数字 0 是 true")
  11. else
  12. print("数字 0 为 false")
  13. end

प्रभावप्रदर्शनम्

संख्या


Lua इत्यस्य पूर्वनिर्धारितरूपेण केवलं एकः संख्याप्रकारः अस्ति - द्विगुणः (द्विगुणसटीकता) प्रकारः (पूर्वनिर्धारितप्रकारः luaconf.h इत्यत्र परिवर्तयितुं शक्यते), निम्नलिखितलेखनविधयः num इति गण्यन्ते

स्ट्रिंग्(स्ट्रिंग्) ९.

"" '' -- एकं तारं प्रतिनिधियति


[[ ]] -- एकं तारं प्रतिनिधियति
 

संख्याः तारं प्रति बाध्यं कर्तुं शक्यन्ते

संख्यात्मकतारस्य उपरि गणितीयक्रियाः कुर्वन् Lua संख्यात्मकं तारं संख्यायां परिवर्तयितुं प्रयतते:

तारानाम् संयोजनाय .. इत्यस्य उपयोगं कुर्वन्तु

 

पीठिका

लुआ इत्यस्मिन् "रचनात्मकव्यञ्जनानां" माध्यमेन सारणीनिर्माणं सम्पद्यते । भवान् सारणीयां किञ्चित् दत्तांशं योजयित्वा प्रत्यक्षतया सारणीम् आरभितुं अपि शक्नोति:

आरंभीकरण सारणी

अनुक्रमणिका (कुंजी) इत्यस्य आधारेण सारणीं परिवर्तयन्तु ।

लुआभाषायां एकं सारणी वस्तुतः क"सहयोगी सरणी"।(associative arrays), सरणीयाः अनुक्रमणिका संख्या अथवा स्ट्रिंग् भवितुम् अर्हति ।

लुआ इत्यस्य अनुक्रमणिकाः १ तः आरभ्यन्ते (इत्यस्य स्थाने) ।

सारणीयाः नियतदीर्घता न भविष्यति यदा नूतनदत्तांशः योजितः भवति तदा सारणीयाः दीर्घता स्वयमेव वर्धते ये सारणीयाः आरम्भः न भवति ।

नियोग

लुआ इत्यस्मिन् कार्याणि "प्रथमश्रेणीमूल्यानि" इति गण्यन्ते ।

कार्याणि चरयोः संग्रहीतुं शक्यन्ते :

लैम्ब्डा अभिव्यक्ति (अनाम कार्य) पारित पैरामीटर्स


सूत्र


लुआ इत्यस्मिन् महत्त्वपूर्णः सूत्रः कोर्युटिन् अस्ति । इदं थ्रेड् इत्यस्य सदृशं भवति तथा च स्वकीयः स्वतन्त्रः स्टैक्, स्थानीयचराः, निर्देशसूचकः च अस्ति ।
वैश्विकचराः अन्ये च अधिकांशवस्तूनि अन्यैः कोर्युटिन्-सहितं साझां कर्तुं शक्यन्ते ।

थ्रेड्-कोरूटिन्-योः मध्ये अन्तरम् : थ्रेड्-इत्येतत् एकस्मिन् समये बहुवारं चालयितुं शक्यते, परन्तु कोर्युटिन्-इत्येतत् कदापि एकं चालयितुं शक्यते, तथा च धावन् कोर्युटिन् केवलं तदा एव स्थगितः भविष्यति यदा सः निलम्बितः भवति

userdata (अनुकूलप्रकारः) २.


userdata इति उपयोक्तृनिर्धारितदत्तांशस्य एकः प्रकारः यस्य उपयोगः अनुप्रयोगेन अथवा C/C++ भाषापुस्तकालयेन निर्मितस्य प्रकारस्य प्रतिनिधित्वार्थं भवति ।
भवान् कस्यापि C/C++ दत्तांशप्रकारस्य (प्रायः struct तथा ​​pointer) किमपि दत्तांशं Lua चरमध्ये संग्रहीतुं शक्नोति तथा च तत् आह्वयितुं शक्नोति