获取 lua 中的索引和值

Get the index and value in lua

我想获取索引和 x 值。从 gmatch 函数中,我是字符,所以我没有通过此代码。我想获取值和索引。有什么解决办法吗?

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 returns 个字符串。因此 ix 都是您代码中的字符串,前提是您当然有匹配项。

f[1]f["1"] 不同。

因此在您的代码中 fc[1] 等是 nil 值,因此不能等于 24

您可以使用 tonumberstring 转换为 number 值。但请记住,转换与 %w 匹配的字母数字字符不一定可转换为数字。你必须避免使用 nil 作为 table 索引,否则你会得到一个错误。