gpt4 book ai didi

lua - 如何通过键删除lua表条目?

转载 作者:行者123 更新时间:2023-12-02 10:36:21 29 4
gpt4 key购买 nike

我有一个 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 函数集中,那么我可能会将其命名为 table.removekey() 或类似的名称。

关于lua - 如何通过键删除lua表条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1758991/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com