【发布时间】:2019-09-24 15:20:09
【问题描述】:
我正在尝试在 Garry 的 mod Lua 中查找与表的值关联的键,但我收到一个错误,就好像它不是表一样。
这是针对我正在维护/修复的其他人代码上的游戏崩溃错误的更大解决方案的一部分。
长话短说,我需要根据它的值来获取密钥的编号。有这个问题的简单短代码:
function starttest()
local tbl = {"a", "b", "c"}
local printme = FindValueInTable(tbl, "c")
print(printme)
end
function FindValueInTable(table, value)
for k, v in table do --errors on this line saying "attempt to call a table value"
if v == value then
return k
end
end
return nil
end
我不知道在这里做什么,因为table 实际上是一张桌子,for k,v in table 怎么会真的失败?
我期望的结果是它返回具有value 值的数字键。所以如果value == "c" 和table[3] 恰好有"c" 的值,那么它应该返回3 作为结果。
【问题讨论】:
-
您需要提供可用于重现问题的最小完整脚本。当您尝试提出最小脚本时,您通常会自己找到解决方案。
-
@PaulKulchenko 我现在已经对这篇文章进行了大量编辑以做到这一点。但是,我没有找到解决方案。
标签: lua lua-table garrys-mod