Lua Academy · บทเรียน

อาร์เรย์ในรูปตาราง

การใช้ดัชนีเริ่มจาก 1 ใน Lua

บทเรียน 1 จาก 413 ขั้นตอน

อาร์เรย์ในรูปตาราง เป็นบทเรียน Lua Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Lua Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Lua Academy มีบทเรียนทั้งหมด 4 บทเรียน

ตารางคือรายการของ Lua

Lua มีชนิดตัวเก็บข้อมูลเพียงชนิดเดียว คือ ตาราง เมื่อจัดเก็บค่าตามลำดับ ตารางจะทำหน้าที่เหมือนอาร์เรย์หรือรายการ

คุณสร้างตารางว่างด้วย {} แล้วค่อยเติมค่าภายหลัง หรือระบุค่าต่าง ๆ ไว้ภายในวงเล็บปีกกาตั้งแต่แรกก็ได้

local fruits = {"apple", "banana", "cherry"}
print(fruits)

ดัชนีเริ่มต้นที่ 1

นี่คือกฎที่สำคัญที่สุด: อาร์เรย์ของ Lua ใช้ดัชนีเริ่มต้นที่ 1 สมาชิกตัวแรกอยู่ที่ดัชนี 1 ไม่ใช่ 0

ใช้วงเล็บเหลี่ยมเพื่ออ่านสมาชิกตามตำแหน่งของสมาชิกนั้น

local fruits = {"apple", "banana", "cherry"}
print(fruits[1])
print(fruits[2])
print(fruits[3])

ดัชนีศูนย์ว่างเปล่า

เนื่องจากการนับเริ่มต้นที่ 1 ตำแหน่ง 0 จึงมักไม่มีค่า

การอ่านดัชนีที่ยังไม่เคยกำหนดค่าจะคืนค่า nil ผู้เริ่มต้นที่เคยใช้ภาษาอื่นมักสับสนกับเรื่องนี้

local colors = {"red", "green", "blue"}
print(colors[0])
print(colors[1])

การเขียนสมาชิก

กำหนดค่าให้ตำแหน่งหนึ่งด้วยรูปแบบวงเล็บเหลี่ยมเพื่อกำหนดค่าหรือแทนที่ค่าเดิม

ในตัวอย่างนี้ เราเขียนทับตำแหน่งที่สอง การเปลี่ยนแปลงจะแสดงให้เห็นเมื่ออ่านค่าจากดัชนีนั้นอีกครั้ง

local scores = {10, 20, 30}
scores[2] = 99
print(scores[2])

การสร้างตารางทีละขั้นตอน

คุณสามารถเริ่มจากตารางว่างแล้วเพิ่มสมาชิกที่ดัชนีต่อเนื่องกันได้ อย่าลืมเริ่มที่ 1 เพื่อให้ได้ลำดับที่เรียบร้อย

ลำดับที่ต่อเนื่องจะไม่มีช่องว่าง กล่าวคือดัชนี 1, 2 และ 3 มีค่าครบทั้งหมด

local nums = {}
nums[1] = 5
nums[2] = 10
nums[3] = 15
print(nums[1], nums[2], nums[3])

ชนิดค่าผสมกัน

ตาราง Lua สามารถเก็บค่าต่างชนิดไว้ในลำดับเดียวกันได้ เช่น ตัวเลข สตริง และค่าบูลีน

Lua ไม่บังคับให้สมาชิกทุกตัวมีชนิดเดียวกันเหมือนภาษาโปรแกรมบางภาษา

local mixed = {42, "hello", true}
print(mixed[1])
print(mixed[2])
print(mixed[3])

การแสดงสมาชิกทั้งหมด

หากต้องการแสดงสมาชิกทุกตัว ให้ไล่จากดัชนี 1 ขึ้นไปด้วยลูป for เชิงตัวเลข

เราจะได้เรียนรู้วิธีที่สะดวกกว่า (ipairs) ในบทเรียนถัดไป แต่ลูปนี้ทำให้เห็นช่วงดัชนีที่เริ่มจาก 1 ได้ชัดเจน

local pets = {"cat", "dog", "fish"}
for i = 1, 3 do
  print(i, pets[i])
end

ตารางซ้อนกัน

สมาชิกของตารางสามารถเป็นตารางอีกตารางหนึ่งได้ วิธีนี้ช่วยให้คุณสร้างแถว ตารางกริด หรือข้อมูลที่จัดกลุ่มได้

ใช้วงเล็บเหลี่ยมต่อกันเพื่อเข้าถึงข้อมูลภายใน: grid[1][2] จะอ่านแถวที่ 1 คอลัมน์ที่ 2 (ทั้งคู่เริ่มนับที่ 1)

local grid = {
  {1, 2, 3},
  {4, 5, 6}
}
print(grid[1][2])
print(grid[2][3])

สมาชิกแรกและสมาชิกสุดท้ายตามตำแหน่ง

สมาชิกแรกจะอยู่ที่ list[1] เสมอ สำหรับลำดับที่ทราบขนาด สมาชิกสุดท้ายจะอยู่ที่ตำแหน่งตามจำนวนสมาชิก

ในที่นี้ เมื่อมีสมาชิกสามตัว สมาชิกสุดท้ายจึงอยู่ที่ดัชนี 3

local week = {"Mon", "Tue", "Wed"}
print("first:", week[1])
print("last:", week[3])

การเปลี่ยนค่าในตำแหน่งเดิม

ตารางสามารถเปลี่ยนแปลงได้ คุณสามารถอัปเดตตำแหน่งที่มีอยู่แล้วได้โดยไม่ต้องสร้างรายการใหม่ทั้งหมด

ด้านล่าง เราเพิ่มคะแนนทุกค่าโดยกำหนดค่าใหม่ให้แต่ละดัชนีในลูป

local scores = {1, 2, 3}
for i = 1, 3 do
  scores[i] = scores[i] + 10
end
print(scores[1], scores[2], scores[3])

ตารางในฐานะระเบียนเทียบกับอาร์เรย์

ชนิดตารางเดียวกันยังใช้เก็บคีย์ที่มีชื่อได้ เช่น person.name เมื่อคีย์เป็นจำนวนเต็ม 1, 2, 3... เราจะเรียกตารางนั้นว่าลำดับหรืออาร์เรย์

บทเรียนนี้เน้นรูปแบบลำดับที่ใช้คีย์ตัวเลขเริ่มต้นที่ 1

local list = {"a", "b"}
list[3] = "c"
print(list[1], list[2], list[3])

ตรวจสอบความเข้าใจ

ทดสอบความเข้าใจเรื่องการใช้ดัชนีใน Lua

ทบทวน

คุณได้เรียนรู้ว่า Lua ใช้ตารางเป็นอาร์เรย์ และการใช้ดัชนีเริ่มต้นที่ 1 โดยสมาชิกแรกอยู่ที่ [1]

คุณสามารถอ่าน เขียน และซ้อนสมาชิกของตารางได้ และลำดับที่เรียบร้อยจะไม่มีช่องว่าง ถัดไป คุณจะได้เพิ่มและลบสมาชิกแบบไดนามิก

เริ่มต้นได้ฟรี

เรียนรู้ Lua ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
40
บทเรียน
159

คำถามที่พบบ่อย

บทเรียน “อาร์เรย์ในรูปตาราง” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “อาร์เรย์ในรูปตาราง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Lua Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Lua Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “อาร์เรย์ในรูปตาราง”

การใช้ดัชนีเริ่มจาก 1 ใน Lua คุณปฏิบัติ Lua Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Lua Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Lua Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “อาร์เรย์ในรูปตาราง” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Lua Academy นี้ได้ไหม

ได้ บทเรียน Lua Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. อาร์เรย์ในรูปตาราง
  2. เพิ่มและลบรายการ
  3. วนซ้ำด้วย ipairs
  4. ความยาวและการเรียงลำดับ
← กลับไปที่ Lua Academy