Hashmap olarak kullandığım bir lua tablom var, yani string anahtarları olan:
local map = { foo = 1, bar = 2 }
Bu tablonun anahtarıyla tanımlanan bir öğesini "pop" yapmak istiyorum. Bir table.remove()
yöntem vardır, ancak genel bir anahtar değil, yalnızca kaldırılacak öğenin dizinini (yani bir sayı) alır. Yapabilmek isterim table.remove(map, 'foo')
ve işte bunu nasıl uyguladım:
function table.removekey(table, key)
local element = table[key]
table[key] = nil
return element
end
Bunu yapmanın daha iyi bir yolu var mı?