ฟังก์ชันในไลบรารี table
ใช้ table.insert, remove, sort, concat, move และ unpack
ฟังก์ชันในไลบรารี table เป็นบทเรียน Lua Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Lua Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Lua Academy มีบทเรียนทั้งหมด 4 บทเรียน
โมดูล table
โมดูล table มีฟังก์ชันสำหรับจัดการตาราง Lua ที่ใช้เป็นอาร์เรย์ ได้แก่ insert, remove, sort, concat, move และ unpack
table.insert
table.insert(t, val) เพิ่มข้อมูลต่อท้าย ส่วน table.insert(t, pos, val) จะแทรกข้อมูลในตำแหน่งที่กำหนด และเลื่อนสมาชิกถัดไปไปทางขวา
local t = {"a", "b", "d"}
table.insert(t, "e") -- append
table.insert(t, 3, "c") -- insert at index 3
print(table.concat(t, ",")) -- a,b,c,d,etable.remove
table.remove(t) ลบและส่งคืนสมาชิกตัวสุดท้าย ส่วน table.remove(t, pos) จะลบสมาชิกตามตำแหน่งและเลื่อนสมาชิกที่เหลือไปทางซ้าย
local t = {"x", "y", "z"}
print(table.remove(t)) -- z
print(table.remove(t, 1)) -- x
print(table.concat(t)) -- ytable.sort
table.sort(t, cmp) เรียงลำดับข้อมูลภายในตารางเดิม หากไม่ระบุ cmp จะใช้ < ตัวเปรียบเทียบต้องกำหนดลำดับอ่อนแบบเข้มงวด
local t = {3, 1, 4, 1, 5, 9, 2, 6}
table.sort(t)
print(table.concat(t, " ")) -- 1 1 2 3 4 5 6 9table.concat
table.concat(t, sep, i, j) รวมสมาชิกอาร์เรย์เป็นสตริง สมาชิกต้องเป็นสตริงหรือตัวเลข
local words = {"Hello", "world", "from", "Lua"}
print(table.concat(words, " ")) -- Hello world from Luatable.move
table.move(a1, f, e, t, a2) คัดลอกสมาชิกจาก a1[f..e] ไปยัง a2 โดยเริ่มที่ t หากไม่ระบุ a2 จะคัดลอกภายใน a1
local src = {1,2,3,4,5}
local dst = table.move(src, 2, 4, 1, {})
print(table.concat(dst, ",")) -- 2,3,4table.unpack
table.unpack(t, i, j) ส่งคืนสมาชิกตั้งแต่ t[i] ถึง t[j] เป็นค่าแยกกัน ค่าเริ่มต้นคือ 1 ถึง #t
local t = {10, 20, 30}
print(table.unpack(t)) -- 10 20 30
local a, b = table.unpack(t, 1, 2)
print(a, b) -- 10 20table.pack
table.pack(...) บรรจุอาร์กิวเมนต์จำนวนไม่แน่นอนลงในตาราง โดยมีฟิลด์ n เก็บจำนวนทั้งหมด รวมค่า nil ด้วย
local function allArgs(...)
local t = table.pack(...)
print("count:", t.n)
return t
end
allArgs(1, nil, 3) -- count: 3จำลองคิวด้วย insert/remove
ใช้ table.insert เพื่อเพิ่มข้อมูลเข้าคิวที่ท้ายคิว และใช้ table.remove(t, 1) เพื่อนำข้อมูลออกจากหัวคิว (โปรดทราบว่ามีต้นทุน O(n))
จำลองกองซ้อน
ใช้ table.insert เพื่อเพิ่มข้อมูลเข้ากองซ้อน และใช้ table.remove (โดยไม่ระบุตำแหน่ง) เพื่อนำข้อมูลออก ทั้งสองเป็นการดำเนินการแบบ O(1)
ใช้ table.move เพื่อเลื่อนข้อมูล
เลื่อนสมาชิกทั้งหมดไปทางซ้ายหนึ่งตำแหน่งด้วย table.move(t, 2, #t, 1) จากนั้นกำหนดสมาชิกตัวสุดท้ายเป็น nil
local t = {1,2,3,4,5}
table.move(t, 2, #t, 1)
t[#t] = nil
print(table.concat(t, ",")) -- 2,3,4,5คำถามเกี่ยวกับไลบรารี table
table.pack(1, nil, 3) ส่งคืนค่าใด
สรุป: ไลบรารี table
ไลบรารี table มีฟังก์ชัน insert, remove, sort, concat, move, unpack และ pack ซึ่งเมื่อใช้ร่วมกันจะรองรับความต้องการทั่วไปในการจัดการอาร์เรย์ได้อย่างมีประสิทธิภาพ
คำถามที่พบบ่อย
บทเรียน “ฟังก์ชันในไลบรารี table” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ฟังก์ชันในไลบรารี table” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Lua Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Lua Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ฟังก์ชันในไลบรารี table”
ใช้ table.insert, remove, sort, concat, move และ unpack คุณปฏิบัติ Lua Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Lua Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Lua Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “ฟังก์ชันในไลบรารี table” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Lua Academy นี้ได้ไหม
ได้ บทเรียน Lua Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ฟังก์ชันในไลบรารี math
- ฟังก์ชันในไลบรารี table
- ไลบรารี os และ io
- ไลบรารี debug