Я пытаюсь найти ключ, связанный со значением таблицы, в моде Гарри на 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
.