【发布时间】:2021-02-19 09:08:28
【问题描述】:
我正在寻找一种方法来查看值是否在数组(表)中
示例表有 3 个条目,每个条目包含一个包含多个条目的表
假设我正在检查“苹果”是否在“数据”中
data = {
{"alpha","bravo","charlie","delta"},
{"apple","kiwi","banana","pear"},
{"carrot","brocoli","cabage","potatoe"}
}
这是我的代码,一个递归查询。问题是函数在某处中断,因为它会降低正值
local function hasValue(tbl, str)
local f = false
for ind, val in pairs(tbl) do
if type(val) == "table" then
hasValue(val, str)
else
if type(val) == "string" then
if string.gsub(val, '^%s*(.-)%s*$', '%1') == string.gsub(str, '^%s*(.-)%s*$', '%1') then
f = true
end
end
end
end
return f end
我们将不胜感激有关此方法或替代方法的任何帮助。
【问题讨论】:
-
提示:递归的结果去哪儿了?
标签: arrays lua string-matching recursive-query lua-table