Tôi có một bảng lua mà tôi sử dụng làm bản đồ băm, tức là với các khóa chuỗi:
local map = { foo = 1, bar = 2 }
Tôi muốn "bật" một phần tử của bảng này được xác định bằng khóa của nó. Có một table.remove()
phương thức, nhưng nó chỉ lấy chỉ mục của phần tử cần loại bỏ (tức là một số) chứ không phải khóa chung. Tôi muốn có thể làm được table.remove(map, 'foo')
và đây là cách tôi triển khai nó:
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?