我想获取索引和x值。从 gmatch 函数中, i 是字符,所以我失败了这个代码。我想获取值和索引。这有什么解决办法吗?
val[1] = 24
fx = {}
for i, x in response_body[1]:gmatch([["(%w+)lId"%s*:%s*(%d+)]]) do
fc[i] = x
print(x)
end
/* x prints 14
18
23 */
if (val[1] ~= fc[1] and val[1] ~= fc[2] and val[1] ~= fc[3] ) then
val[1] = fc[1]
else
val[1] = val[1]
end
string.gmatch
返回字符串。所以 i
和 x
都是代码中的字符串,当然前提是你有匹配项。
f[1]
与 f["1"]
不同。
因此,在您的代码中
fc[1]
等是 nil
值,因此不能等于 24
您可以使用
tonumber
将 string
转换为 number
值。但请记住,转换与 %w
匹配的字母数字字符不一定可以转换为数字。你必须避免使用 nil 作为表索引,否则你会得到一个错误。