如何在 Lua 中创建字符串变量

我正在编写 Lua 脚本,脚本总是以如下表格中的字符串形式显示

order = { apple="0@1@2"}
print(order["apple"])

因为它经常被显示,我想创建一个函数来涵盖所有内容

function getnumber(a,apple)
a=tonumber(order["apple"])
print(a)
end

但我发现 "apple" 不是变量,所以我尝试像 order[tostring(apple)] 这样使用 tostring,但它仍然不起作用(尝试调用全局 'string' (a table value) 堆栈追踪),能否有人教我如何解决这个问题?

点赞
用户4403144
用户4403144
order = {apple="0@1@2"}

function getnumber(key)
    return (order[key])
end

print(getnumber("apple"))

这将返回:

0@1@2

或将其赋值给变量以便稍后使用:

value = getnumber("apple")

2018-07-23 21:40:00
用户3574628
用户3574628

假设你的函数参数正确,这段代码将会做你第一段代码片段同样的事情:

function getnumber(a, apple)
  _G.a = {[apple] = "0@1@2"}
  print(a[apple])
end

getnumber('order', 'apple')

然而,这看起来很奇怪,我不禁想知道这是否是你真正想要的。也许你可以发更多你现有代码的例子,这样我们就能看到它们共同之处,应该将其分解成一个函数。

2018-07-23 22:41:31