【问题标题】:How to make the string variable in Lua如何在Lua中制作字符串变量
【发布时间】:2018-07-24 06:41:31
【问题描述】:

我正在用 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”(表值) 堆栈回溯)有人可以教我如何解决这个问题吗?

【问题讨论】:

  • tonumber() 有时在场有什么关系?

标签: lua


【解决方案1】:
order = { apple="0@1@2"}

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

print(getnumber("apple"))

这会返回:

0@1@2

或将其分配给一个变量以供以后使用:

value = getnumber("apple")

【讨论】:

  • 这很有帮助,但是如果我真的想让字符串变量,我该怎么办?
  • @ChengEric 已经是一个字符串了。您可以通过在上面添加print(type(value)) 来查看这一点。所以,getNumber() 应该改名了。
【解决方案2】:

假设你的函数参数是正确的,这段代码会和你的第一个代码 sn-p 做同样的事情:

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

getnumber('order', 'apple')

但是,这看起来很奇怪,我不禁想知道这是否是您真正想要的。也许您可以发布更多现有代码的示例,以便我们可以看到它们的共同点应该被分解到一个函数中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-11
    • 1970-01-01
    • 1970-01-01
    • 2020-04-06
    • 2014-11-21
    • 2021-06-11
    • 2020-04-14
    • 2016-03-02
    相关资源
    最近更新 更多