Lua 表1.1插入->;记住插入值的键
我正在将一个变量的值插入表中,并希望确保操作成功。 因此,我希望返回值,但不是通过var返回,而是从表返回 是否有一种更简单的方法可以再次遍历表 插入表中的值时,如何记住该值的键Lua 表1.1插入->;记住插入值的键,lua,lookup,lua-table,Lua,Lookup,Lua Table,我正在将一个变量的值插入表中,并希望确保操作成功。 因此,我希望返回值,但不是通过var返回,而是从表返回 是否有一种更简单的方法可以再次遍历表 插入表中的值时,如何记住该值的键 function(value) for _,v in pairs(theTable) do if v == value then return --(due the table already contains the value) end end
function(value)
for _,v in pairs(theTable) do
if v == value then
return --(due the table already contains the value)
end
end
table.insert(theTable, value)
return -- table.[VALUE]
end
这正是table.insert所做的:
作为一种特殊(且常见)情况,如果调用insert而不指定位置,它会将元素插入数组的最后一个位置(因此,不会移动元素)
作为旁注,您的函数效率很低;您正在执行一个O(n)
“contains”检查,如果您创建了一个值索引,那么这个检查可能会做得更好
local ix = #theTable + 1
theTable[ix] = value