Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Lua中生成字符串变量_Lua - Fatal编程技术网

如何在Lua中生成字符串变量

如何在Lua中生成字符串变量,lua,Lua,我正在用Lua写一张纸条,纸条上的字符串总是这样 order = { apple="0@1@2"} print(order["apple"]) 因为它经常显示,我想创建一个函数来涵盖所有内容 function getnumber(a,apple) a=tonumber(order["apple"]) print(a) end 但我发现“apple”不是变量,所以我尝试按顺序字符串[tostring(apple)],但仍然不起作用(尝试调用全局“string”(表值) 堆栈回溯)有人能教我如何

我正在用Lua写一张纸条,纸条上的字符串总是这样

order = { apple="0@1@2"}
print(order["apple"])
因为它经常显示,我想创建一个函数来涵盖所有内容

function getnumber(a,apple)
a=tonumber(order["apple"])
print(a)
end
但我发现“apple”不是变量,所以我尝试按顺序字符串[tostring(apple)],但仍然不起作用(尝试调用全局“string”(表值) 堆栈回溯)有人能教我如何解决这个问题吗

order = { apple="0@1@2"}

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

print(getnumber("apple"))
这将返回:

0@1@2

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


value=getnumber(“苹果”)

假设函数参数正确,此代码将执行与第一个代码段相同的操作:

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

getnumber('order', 'apple')

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

有时存在的
tonumber()
会有什么影响?这很有帮助,但是如果我真的想让字符串变为变量,我应该怎么做呢?@ChengEric它已经是一个字符串了。您可以通过在上述内容之后添加
print(type(value))
来看到这一点。因此,
getNumber()
可能应该重命名。