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

table.concat และ table.move

รวมอาร์เรย์และคัดลอกส่วนของตารางอย่างมีประสิทธิภาพด้วยฟังก์ชันในตัว

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

พื้นฐาน table.concat

table.concat(t, sep, i, j) รวมองค์ประกอบของอาร์เรย์เป็นสตริง โดย sep มีค่าเริ่มต้นเป็น ""

การรวมแบบง่าย

รวมอาร์เรย์สตริงโดยใช้ตัวคั่น

local fruits = {"apple", "banana", "cherry"}
print(table.concat(fruits, ", "))  -- apple, banana, cherry

การรวมบางส่วนด้วย i และ j

ระบุดัชนีเริ่มต้นและสิ้นสุดเพื่อรวมช่วงย่อยของอาร์เรย์

local t = {"a", "b", "c", "d", "e"}
print(table.concat(t, "-", 2, 4))  -- b-c-d

ตัวเลขใน table.concat

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

local nums = {1, 2, 3}
print(table.concat(nums, " + "))  -- 1 + 2 + 3

แนะนำ table.move

table.move(a1, f, e, t, a2) คัดลอกองค์ประกอบจากตาราง a1 (ดัชนี f..e) ไปยังตาราง a2 โดยเริ่มที่ดัชนี t

การคัดลอกช่วงย่อย

คัดลอกองค์ประกอบตั้งแต่ 2 ถึง 4 ของตารางหนึ่งไปยังอีกตารางหนึ่ง

local src = {10, 20, 30, 40, 50}
local dst = {}
table.move(src, 2, 4, 1, dst)
print(table.concat(dst, ", "))  -- 20, 30, 40

การเลื่อนในตำแหน่งเดิม

ใช้ table.move โดยกำหนดแหล่งที่มาและปลายทางเป็นตารางเดียวกัน เพื่อเลื่อนองค์ประกอบภายในตาราง

local t = {1, 2, 3, 4, 5}
table.move(t, 2, 5, 1)  -- shift left by 1
t[5] = nil

การต่อท้ายช่วงย่อย

ต่อท้ายช่วงย่อยของตารางหนึ่งเข้ากับท้ายอีกตารางอย่างมีประสิทธิภาพ

local base = {"x", "y"}
local extra = {"a", "b", "c"}
table.move(extra, 1, #extra, #base + 1, base)
print(table.concat(base, ", "))

การโคลนตารางด้วย table.move

สร้างโคลนแบบตื้นได้โดยย้ายทั้งตารางไปยังตารางใหม่ที่ว่างอยู่

local original = {1, 2, 3}
local clone = {}
table.move(original, 1, #original, 1, clone)

ประโยชน์ด้านประสิทธิภาพ

table.move ทำงานด้วยภาษา C และเร็วกว่าการวนซ้ำด้วย Lua เองสำหรับช่วงขนาดใหญ่ เพราะหลีกเลี่ยงต้นทุนของตัวแปลภาษาต่อองค์ประกอบ

table.concat กับ string.format

ใช้ table.concat เพื่อรวมอาร์เรย์ และใช้ string.format เพื่อจัดรูปแบบค่าแต่ละค่าที่มีโครงสร้าง

คำถามเกี่ยวกับ table.move

table.move(src, 2, 4, 1, dst) ทำอะไร

ทบทวน: concat และ move

table.concat รวมองค์ประกอบของอาร์เรย์เป็นสตริง ส่วน table.move คัดลอกช่วงย่อยของตารางด้วยภาษา C อย่างมีประสิทธิภาพ ทั้งสองอย่างจำเป็นต่อการจัดการตารางประสิทธิภาพสูง

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

บทเรียน “table.concat และ table.move” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “table.concat และ table.move”

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

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

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

บทเรียน “table.concat และ table.move” ใช้เวลานานแค่ไหน

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

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

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

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

  1. table.sort พร้อมตัวเปรียบเทียบ
  2. table.concat และ table.move
  3. การคัดลอกแบบลึกและแบบตื้น
  4. การแปลงตาราง: map, filter, reduce
← กลับไปที่ Lua Academy