我在Lua中写了一个脚本,这些脚本总是在表中显示这样的字符串
order = { apple="0@1@2"}
print(order["apple"])
因为它经常显示,我想创建一个覆盖所有内容的函数
function getnumber(a,apple)
a=tonumber(order["apple"])
print(a)
end
但是我发现“ apple”不是变量,所以我尝试像order [tostring(apple)]一样进行字符串化,但是仍然不起作用(尝试调用全局“字符串”(表值) 堆栈追溯)有人可以教我如何解决这个问题吗?
答案 0 :(得分:1)
order = { apple="0@1@2"}
function getnumber(key)
return (order[key])
end
print(getnumber("apple"))
这将返回:
0@1@2
或将其分配给变量以供以后使用:
value = getnumber("apple")
答案 1 :(得分:-1)
假设您的函数参数正确,则此代码将与您的第一个代码段相同:
function getnumber(a, apple)
_G.a = {[apple] = "0@1@2"}
print(a[apple])
end
getnumber('order', 'apple')
但是,这看起来很奇怪,我不禁想知道这是否是您真正想要的。也许您可以发布现有代码的更多示例,以便我们可以看到它们的共同点,这些因素应该被分解到函数中。