如何通过它的键删除lua表条目?
发布时间:2020-12-15 00:07:35 所属栏目:大数据 来源:网络整理
导读:我有一个lua表,我用作hashmap,即与字符串键: local map = { foo = 1,bar = 2 } 我想“弹出”由该键标识的此表的元素。有一个table.remove()方法,但它只需要删除元素的索引(即一个数字),而不是通用键。我想能够做table.remove(map,’foo’),这里是我如
我有一个lua表,我用作hashmap,即与字符串键:
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 有更好的方法吗? 解决方法
不,将键的值设置为nil是删除表的hashmap部分中的项的接受方式。你所做的是标准的。但是,我建议不要覆盖table.remove() – 对于表的数组部分,默认的table.remove()功能包括重新编号索引,覆盖不会这样做。如果你想要添加你的函数到表函数集,那么我可能会命名为类似table.removekey()或类似的东西。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |