लुआ - गिरफ्तार

एरे को ऑब्जेक्ट्स की व्यवस्था करने का आदेश दिया जाता है, जो एक आयामी आयामी पंक्तियों का संग्रह हो सकता है या कई पंक्तियों और स्तंभों वाला बहुआयामी सरणी हो सकता है।

लुआ में, पूर्णांक के साथ अनुक्रमण तालिकाओं का उपयोग करके सरणियों को लागू किया जाता है। एक सरणी का आकार तय नहीं है और यह हमारी आवश्यकताओं के आधार पर बढ़ सकता है, स्मृति बाधाओं के अधीन है।

एक-आयामी सरणी

एक-आयामी सरणी को एक सरल तालिका संरचना का उपयोग करके दर्शाया जा सकता है और एक सरल का उपयोग करके प्रारंभिक और पढ़ा जा सकता है forपाश। एक उदाहरण नीचे दिया गया है।

array = {"Lua", "Tutorial"}

for i = 0, 2 do
   print(array[i])
end

जब हम उपरोक्त कोड चलाते हैं, तो हमें निम्नलिखित आउटपुट मिलते हैं।

nil
Lua
Tutorial

जैसा कि आप उपरोक्त कोड में देख सकते हैं, जब हम एक इंडेक्स में एक तत्व को एक्सेस करने की कोशिश कर रहे हैं जो कि सरणी में नहीं है, तो यह शून्य पर वापस आ जाता है। लुआ में, इंडेक्सिंग आम तौर पर इंडेक्स 1 से शुरू होती है। लेकिन इंडेक्स 0 और नीचे 0 पर भी ऑब्जेक्ट बनाना संभव है। नकारात्मक सूचकांकों का उपयोग करने वाले सरणी को नीचे दिखाया गया है जहां हम लूप के लिए सरणी का आरंभ करते हैं ।

array = {}

for i= -2, 2 do
   array[i] = i *2
end

for i = -2,2 do
   print(array[i])
end

जब हम उपरोक्त कोड चलाते हैं, तो हमें निम्न आउटपुट मिलेगा।

-4
-2
0
2
4

बहु-आयामी सरणी

बहु-आयामी सरणियों को दो तरीकों से लागू किया जा सकता है।

  • सरणियों का सरणी
  • सूचकांकों में हेरफेर करके एकल आयामी सरणी

3. सरणी के सरणी का उपयोग करते हुए 3. 3 के बहुआयामी सरणी के लिए एक उदाहरण नीचे दिखाया गया है।

-- Initializing the array
array = {}

for i=1,3 do
   array[i] = {}
	
   for j=1,3 do
      array[i][j] = i*j
   end
	
end

-- Accessing the array

for i=1,3 do

   for j=1,3 do
      print(array[i][j])
   end
	
end

जब हम उपरोक्त कोड चलाते हैं, तो हमें निम्न आउटपुट मिलेगा।

1
2
3
2
4
6
3
6
9

बहुआयामी सरणी के लिए एक उदाहरण नीचे सूचक हेरफेर का उपयोग करके दिखाया गया है।

-- Initializing the array

array = {}

maxRows = 3
maxColumns = 3

for row=1,maxRows do

   for col=1,maxColumns do
      array[row*maxColumns +col] = row*col
   end
	
end

-- Accessing the array

for row=1,maxRows do

   for col=1,maxColumns do
      print(array[row*maxColumns +col])
   end
	
end

जब हम उपरोक्त कोड चलाते हैं, तो हमें निम्न आउटपुट मिलेगा।

1
2
3
2
4
6
3
6
9

जैसा कि आप उपरोक्त उदाहरण में देख सकते हैं, डेटा सूचकांकों के आधार पर संग्रहीत किया जाता है। तत्वों को एक विरल तरीके से रखना संभव है और यह एक मैट्रिक्स काम का Lua कार्यान्वयन है। चूंकि यह लुआ में नील मूल्यों को संग्रहीत नहीं करता है, इसलिए लुआ में किसी भी विशेष तकनीक के बिना बहुत सारी मेमोरी को सहेजना संभव है, क्योंकि अन्य प्रोग्रामिंग भाषाओं में इस्तेमाल की जाने वाली विशेष तकनीकों की तुलना में।