วิธีใดที่มีประสิทธิภาพที่สุดในการพิจารณาว่าตารางว่างเปล่า (นั่นคือปัจจุบันไม่มีทั้งค่าสไตล์อาร์เรย์หรือค่าสไตล์คำสั่ง)
ขณะนี้ฉันใช้next():
if not next(myTable) then
-- Table is empty
end
มีวิธีที่มีประสิทธิภาพมากกว่านี้หรือไม่?
หมายเหตุ: ตัว#ดำเนินการไม่เพียงพอที่นี่เนื่องจากมันทำงานเฉพาะกับค่าสไตล์อาร์เรย์ในตารางดังนั้นจึง#{test=2}แยกไม่ออก#{}เนื่องจากทั้งสองส่งคืน 0 โปรดทราบว่าการตรวจสอบว่าตัวแปรตารางnilไม่เพียงพอหรือไม่เนื่องจากฉันไม่ได้มองหา ค่าศูนย์ แต่เป็นตารางที่มี 0 รายการ (เช่น{})
falseจะไม่ใช่คีย์ที่คาดหวังดังนั้นการใช้if notงานได้ดี แต่ฉันอาจจะสร้างนิสัยในการเปรียบเทียบnilแทนในอนาคตเช่นเดียวกับนิสัยที่ดี และใช่ฉันได้ผูกฟังก์ชันยูทิลิตี้ทั่วไปเข้ากับตัวแปรท้องถิ่นเพื่อความเร็ว ขอบคุณสำหรับข้อมูล