我来问你一个函数如何设置一个参数传递的变量:
y = 4
test(y)
function test(x)
x = 3
end
提前谢谢你。
最佳答案
根据我目前对 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
关于lua - 如何将变量传递给函数并在函数内更改原始变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40933174/