我正在用Lua编写脚本,脚本总是像这样在表中显示字符串
order = { apple="0@1@2"}
print(order["apple"])
因为它经常被显示,所以我想创建一个函数来覆盖所有这些内容
function getnumber(a,apple)
a=tonumber(order["apple"])
print(a)
end
但我发现"apple“不是可变的,所以我试着像ordertostring(apple)那样使用字符串,但仍然不起作用(尝试调用全局'string‘(一个表值)堆栈回溯),有人能教我如何解决这个问题吗?
发布于 2018-07-24 05:40:00
order = { apple="0@1@2"}
function getnumber(key)
return (order[key])
end
print(getnumber("apple"))
这将返回:
0@1@2
或者将其赋值给一个变量以供以后使用:
value = getnumber("apple")
发布于 2018-07-24 06:41:32
假设您的函数参数是正确的,此代码将执行与您的第一个代码片段相同的操作:
function getnumber(a, apple)
_G.a = {[apple] = "0@1@2"}
print(a[apple])
end
getnumber('order', 'apple')
然而,这看起来很奇怪,我不禁想知道这是不是你真正想要的。也许你可以发布更多现有代码的示例,这样我们就可以看到它们的共同点,这些共同点应该被分解到函数中。
https://stackoverflow.com/questions/51487396
复制相似问题