Latest web development tutorials

อาร์เรย์ Lua

อาร์เรย์คือชุดของชนิดเดียวกันขององค์ประกอบข้อมูลในคำสั่งบางอย่างซึ่งสามารถอาร์เรย์หนึ่งมิติและอาร์เรย์หลายมิติ

Lua ค่าคีย์ดัชนีอาร์เรย์สามารถใช้เป็นจำนวนเต็มขนาดของอาร์เรย์จะไม่คงที่


หนึ่งมิติอาร์เรย์

อาร์เรย์หนึ่งมิติเป็นอาร์เรย์ของที่ง่ายที่สุดโครงสร้างเชิงตรรกะเป็นรูปแบบเชิงเส้น หนึ่งมิติอาร์เรย์สามารถใช้สำหรับองค์ประกอบห่วงในอาร์เรย์ตัวอย่างต่อไปนี้:

array = {"Lua", "Tutorial"}

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

เอาท์พุทเป็นรหัสดังกล่าวข้างต้นจะถูกดำเนินการ:

nil
Lua
Tutorial

ที่คุณสามารถดูเราสามารถใช้เป็นดัชนีจำนวนเต็มในการเข้าถึงองค์ประกอบมากมายถ้าคุณรู้ว่าไม่มีค่าดัชนีจะถูกส่งกลับศูนย์

ใน Lua ค่าดัชนีอยู่ที่ 1 เริ่มต้น แต่คุณยังสามารถระบุ 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

อาร์เรย์หลายมิติ

อาร์เรย์หลายมิติที่อาร์เรย์ที่มีอาร์เรย์ของดัชนีสำคัญหรืออาร์เรย์หนึ่งมิติเป็นนักการที่สอดคล้องกับอาร์เรย์

นี่คือแถวสามแถวและคอลัมน์ที่สามในอาร์เรย์หลายมิติ:

-- 初始化数组
array = {}
for i=1,3 do
   array[i] = {}
      for j=1,3 do
         array[i][j] = i*j
      end
end

-- 访问数组
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

สามแถวสามอาร์เรย์อาร์เรย์หลายมิติดัชนีคีย์ที่แตกต่างกัน

-- 初始化数组
array = {}
maxRows = 3
maxColumns = 3
for row=1,maxRows do
   for col=1,maxColumns do
      array[row*maxColumns +col] = row*col
   end
end

-- 访问数组
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

ในขณะที่คุณสามารถดูตัวอย่างข้างต้นดัชนีอาร์เรย์ที่ถูกกำหนดเป็นค่าที่ระบุเพื่อให้สามารถหลีกเลี่ยงค่าศูนย์ช่วยประหยัดพื้นที่หน่วยความจำ