table

แสดงที่เลิกใช้งานแล้ว

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

ห้องสมุดนี้ให้ฟังก์ชันทั่วไปสำหรับการจัดการตาราง/แผงข้อมูล โดยให้ฟังก์ชันทั้งหมดของมันภายในแปร table ทั้งหมด ฟังก์ชันส่วนใหญ่ในแปร table ลองใ

สรุป

ฟังก์ชัน

  • clear(table : table):()

    ตั้งค่าคีย์ทั้งหมดในตารางที่ให้เป็น zero

  • กลับไปที่คัดลอกที่ตื่นเต้นของตารางที่ให้

  • concat(t : Array,sep : string,i : number,j : number):string

    กลับรายการตารางที่ให้เป็นสตริงที่แยกออกจากแยกตัวให้

  • create(count : number,value : Variant):table

    กลับตารางใหม่ที่เต็มด้วยหลายตัวอย่างของค่าที่กำหนด

  • find(haystack : table,needle : Variant,init : number):Variant

    กลับรายการของการเกิดขึ้นครั้งแรกของ needle ภายใน haystack เริ่มตั้งแต่ init

  • ทำให้ตารางที่ให้อ่านเฉพาะ

  • insert(t : Array,pos : number,value : Variant):()

    ใส่ค่าที่กำหนดไว้ในตำแหน่งเป้าหมายของแผง

  • insert(t : Array,value : Variant):()

    ใส่ค่าที่กำหนดไว้ในตัวอักษรรายการลงท้ายของแผง

  • กลับ true หากตารางที่ให้ไว้ถูกแช่แข็งและ false หากไม่แช่แข็ง

  • กลับค่านับเลขสูงสุดของตารางที่ให้ไว้ หรือ zero หากตารางไม่มีค่านับเลข

  • move(src : table,a : number,b : number,t : number,dst : table):table

    คัดลอกระยะเวลาที่กำหนดจากหนึ่งตารางไปยังอื่น

  • pack(values... : Variant):Variant

    กลับตารางใหม่ที่มีมีค่าที่ให้ไว้

  • remove(t : Array,pos : number):Variant

    ลบรายการที่ระบุออกจากรายการ โดยย้ายรายการที่อยู่ต่ำสุดลงไปในพื้นที่ว่างหากเป็นไปได้

  • sort(t : Array,comp : function):()

    เรียงลำดับรายการโดยใช้คุณสมบัติการเปรียบเทียบหรือผู้ประมวลผล <

  • unpack(list : table,i : number,j : number):Tuple

    กลับรายการทั้งหมดจากรายการที่ให้ไว้เป็นรายการ

ฟังก์ชัน

clear

()

ตั้งค่าค่าสำหรับทุกคีย์ในตารางที่ให้ไว้เป็น zero สามารถทำให้ # ตัวประกอบของตารางกลับสู่ 0 สำหรับตารางที่ให้ไว้ได้ ส่วนความจุที่จัดการได้ของตารางคือ เนื่อ


local grades = {95, 82, 71, 92, 100, 60}
print(grades[4], #grades) --> 92, 6
table.clear(grades)
print(grades[4], #grades) --> nil, 0
-- หากเกรดถูกกรอกอีกด้วยจำนวนเลขเดียวกันของรายการ
-- ไม่มีการขยายขนาดแบบต่อไปนี้จะเกิดขึ้น
-- because the capacity was maintained by table.clear.

ฟังก์ชันนี้ไม่ได้ลบ/ทำลายตารางที่ให้ไว้ ฟังก์ชันนี้มีไว้เพื่อใช้เฉพาะสำหรับตารางที่จะถูกใช้ใหม่

พารามิเตอร์

table: table

ตารางที่มีกุญแจจะถูกล้างออก

ส่งค่ากลับ

()

clone

กลับไปยังคัดลอกแบบเติมน้ำแข็งของตารางที่ให้

พารามิเตอร์

ตารางที่จะถูกโคลน

ส่งค่ากลับ

คลังข้อมูลที่เกี่ยวข้อง

concat

ให้ค่าตัวแปรที่มีทุกองค์ประกอบเป็นสตริงหรือตัวเลขกลับค่าสตริง t[i] ... sep ... t[i+1] ... sep ... t[j] ค่าเริ่มต้นสำหรับ sep คือสตริงว่

พารามิเตอร์

ตารางที่จะถูกแปลงเป็นสตริง

sep: string

สตริงที่จะถูกแนบมาระหว่างแต่ละรายการในตาราง

ดัชนีเริ่มต้นของคอนเซ็นเทชันตาราง

ค่าเริ่มต้น: 1

ดัชนีจุดสิ้นสุดของค่าย่อของตาราง

ส่งค่ากลับ

create

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


local t = table.create(3, "Roblox")
print(table.concat(t)) --> RobloxRobloxRoblox

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

พารามิเตอร์

count: number
value: Variant

ส่งค่ากลับ

find

Variant

ภายในตารางเชิงหน้าที่ให้ไว้ haystack ค้นหาค่าแรกที่เกิดขึ้น needle โดยเริ่มจากดัชนี init หรือจุดเริ่มต้นหากไม่ได้ให้ 1> nil1> คืนค่า

โปรแกรม ค้นหาเชิงเส้น ใช้งาน


local t = {"a", "b", "c", "d", "e"}
print(table.find(t, "d")) --> 4
print(table.find(t, "z")) --> nil เพราะ z ไม่อยู่ในตาราง
print(table.find(t, "b", 3)) --> nil, because b appears before index 3

พารามิเตอร์

haystack: table
needle: Variant
init: number

ส่งค่ากลับ

Variant

freeze

ฟังก์ชันนี้ทำให้ตารางที่ให้เป็นแค่การอ่านเท่านั้น โดยมีผลทำให้ตารางนั้น "แช่แข็ง" อยู่ในสถานะปัจจุบัน การพยายามที่จะแก้ไขตารางที่แช่แข็งจะทำให้เกิดข้อผิดพลาด

เอฟเฟกต์นี้แช่แข็งตื้นตรี ซึ่งหมายความว่าคุณสามารถเขียนในตารางภายในตารางที่แช่แข็งได้ เพื่อลบรายการโต้ตอบที่หลากหลาย ให้โทรหาคุณสมบัตินี้อยู่

พารามิเตอร์

ตารางที่จะถูกแช่แข็ง

ส่งค่ากลับ

โต๊ะที่แช่แข็ง

insert

()

ใส่ค่าที่กำหนดไว้ในตำแหน่งเป้าหมายของแผง

พารามิเตอร์

ตารางที่กำลังจะแนบมา

pos: number

ตำแหน่งที่สัญลักษณ์จะถูกใส่

value: Variant

มูลค่าที่จะถูกแนบมากับตาราง

ส่งค่ากลับ

()

insert

()

ใส่ค่าที่กำหนดไว้ในตัวอักษรรายการลงท้ายของแผง

พารามิเตอร์

ตารางที่กำลังจะแนบมา

value: Variant

มูลค่าที่จะถูกแนบมากับตาราง

ส่งค่ากลับ

()

isfrozen

ฟังก์ชันนี้กลับ true หากตารางที่ให้กลับเป็นน้ำแข็งและ false หากไม่เป็นน้ำแข็ง คุณสามารถแช่ตารางโดยใช้ table.freeze() ได้

พารามิเตอร์

ตารางที่จะตรวจสอบ

ส่งค่ากลับ

ว่าตารางจะถูกแช่แข็งจาก table.freeze() .

maxn

กลับรหัสตัวอักษรตัวเลขสูงสุดของตารางที่ให้ หรือ 0 หากตารางไม่มีตัวอักษรตัวเลขใด ๆ จะไม่มีช่องว่างในตาราง

พารามิเตอร์

ส่งค่ากลับ

move

คัดลอกส่วนของตาราง src จาก src[a] ขึ้นไปยัง src[b] ในตาราง 1> dst1> เริ่มตั้งแต่ส่วนของการกำหน

ค่าเริ่มต้นสำหรับ dst คือ src ระยะเส้นทางอาจมีการซ้องกับระยะเส้นทางที่แหล่งชนะ

กลับ dst สำหรับความสะดวก

พารามิเตอร์

src: table

ตารางที่มีอยู่

เริ่มตัดสำเนาที่ src[a]

คัดลอกจนถึงและรวมถึง src[b]

คัดลอกไปยัง dst[t], ...

dst: table

ตารางเป้าหมาย

ค่าเริ่มต้น: src

ส่งค่ากลับ

dst สำหรับความสะดวก

pack

Variant

กลับตารางใหม่ที่มีข้อมูลทั้งหมดที่เก็บไว้ในช่อง 1, 2, ฯลฯ และมีช่อง "n" ด้วยจำนวนของข้อมูลทั้งหมด หมายเหตุว่าตารางที่ผลลัพธ์อาจไม่ใช่ตาราง สามารถดูได้ที่ข้อมูลการอ้างอิง


local t = table.pack(1, 2, 3)
print(table.concat(t, ", ")) --> 1, 2, 3

พารามิเตอร์

values...: Variant

ส่งค่ากลับ

Variant

remove

Variant

ลบออกจาก mat รายการที่ตำแหน่ง pos โดยการนำค่าของรายการที่ลบออกมากลับมา เมื่อ pos เป็นตัวเลขระหว่าง 1 และ #

พารามิเตอร์

ตารางที่มีส่วนที่ถูกลบออก

pos: number

ดัชนีขององค์ประกอบที่ลบออก

ส่งค่ากลับ

Variant

sort

()

เรียงลำดับรายการของแมทริค t ในลำดับที่กำหนด ตั้งแต่ t[1] ไปยัง t[#t] หาก comp ได้รับ จะต้องเป็นระบบที่รับสององค์ประกอบและส่งคืนเมื่อองค์

ข้อผิดพลาด invalid order function for sorting จะปรากฏขึ้นหากทั้ง comp(a, b) และ comp(b, a) กลับมาเป็น 2> true2>

หาก comp ไม่ได้รับการให้ ผู้ประมวลผล Lua มาตรฐาน < จะถูกใช้แทน

พารามิเตอร์

comp: function

ระเบียบาลังก์เปรียบเทียบออปชันที่ใช้เมื่อเปรียบเทียบรายการในตาราง ระเบียบาลังก์นี้ได้รับสองรายการและควรส่งคืน true หากรายการแรกจะถูกเรียงลำดับก่อนรายการที่สองในลำดับสุดท้าย

ค่าเริ่มต้น: nil

ส่งค่ากลับ

()

unpack

กลับส่วนองค์ประกอบจากรายการที่ให้ โดยปกติ, i คือ 1 และ j คือความยาวของ list

โปรดทราบว่าคุณสมบัติเดียวกันนี้ได้รับการให้บริการโดย unpack() ฟังก์ชันระดับโลก

พารามิเตอร์

list: table

รายการของส่วนที่จะถูกแกะออก

ดัชนีขององค์ประกอบแรกที่จะถูกแกะออก

ค่าเริ่มต้น: 1

ดัชนีขององค์ประกอบล่าสุดที่ถูกแกะออก

ค่าเริ่มต้น: #list

ส่งค่ากลับ