ฉันมีตาราง lua ที่ฉันใช้เป็นแฮชแมปเช่นมีคีย์สตริง:
local map = { foo = 1, bar = 2 }
ฉันต้องการ "ป๊อป" องค์ประกอบของตารางนี้ที่ระบุด้วยคีย์ มีtable.remove()
วิธีการหนึ่ง แต่ใช้เพียงดัชนีขององค์ประกอบในการลบ (เช่นตัวเลข) ไม่ใช่คีย์ทั่วไป ฉันต้องการจะทำได้table.remove(map, 'foo')
และนี่คือวิธีที่ฉันนำไปใช้:
function table.removekey(table, key)
local element = table[key]
table[key] = nil
return element
end
มีวิธีที่ดีกว่านี้หรือไม่?