如何将变量传递给函数并更改函数中的原始变量?

时间:2016-12-02 13:19:11

标签: lua

我在这里问你一个函数如何设置一个参数传递的变量:

y = 4
test(y)

function test(x)
   x = 3
end

提前谢谢。

1 个答案:

答案 0 :(得分:0)

根据我目前对Lua的了解,纯粹的Lua是不可能的。您必须深入http://metalua.luaforge.net/才能实现这一目标。也许我错了,但是我没有看到没有抓住变量名的方法,据我所知,除非你提供它,否则纯粹的Lua是不可能的。

我很好奇为什么你真的需要这个,因为我不知道为什么我不能推荐最好的解决方案,但你可以简单地返回值:

function test()
    return 5
end

x = 0
print(x) -- prints 0
x = test()
print(x) -- prints 5

如果你也可以将变量作为字符串传递,你也可以这样做:

function test(y)
    _G[y] = 5
end

x = 0
print(x) -- prints 0
test("x")
print(x) -- prints 5