Tôi có một bảng lua mà tôi sử dụng như một hashmap, tức là với các phím chuỗi:Làm thế nào để loại bỏ một mục nhập bảng lua bằng khóa của nó?
local map = { foo = 1, bar = 2 }
Tôi muốn "pop" một phần tử của bảng này xác định bởi chính nó. Có một phương thức table.remove()
, nhưng nó chỉ lấy chỉ mục của phần tử cần xóa (tức là một số) và không phải là khóa chung. Tôi muốn có thể thực hiện table.remove(map, 'foo')
và đây là cách tôi đã triển khai:
function table.removekey(table, key)
local element = table[key]
table[key] = nil
return element
end
Có cách nào tốt hơn để làm điều đó không?
+1 vào câu hỏi rất hữu ích vì bạn đã đưa ra câu trả lời "" mà tôi cần; ngay cả khi không có cách "tốt hơn". –