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