0Pricing
Lua Academy · บทเรียน

ฟังก์ชันในไลบรารี 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,e

table.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))     -- y

table.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 9

table.concat

table.concat(t, sep, i, j) รวมสมาชิกอาร์เรย์เป็นสตริง สมาชิกต้องเป็นสตริงหรือตัวเลข

local words = {"Hello", "world", "from", "Lua"}
print(table.concat(words, " "))  -- Hello world from Lua

table.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,4

table.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  20

table.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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. ฟังก์ชันในไลบรารี math
  2. ฟังก์ชันในไลบรารี table
  3. ไลบรารี os และ io
  4. ไลบรารี debug
← กลับไปที่ Lua Academy