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