我来询问您如何使一个函数设置通过参数传递的变量:
y = 4
test(y)
function test(x)
x = 3
end
Thank you in advance.
我来询问您如何使一个函数设置通过参数传递的变量:
y = 4
test(y)
function test(x)
x = 3
end
Thank you in advance.
根据我目前对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
debug
获取原始变量名称,但我不建议这么做。Lua是一种非常简单的语言,不要期望它执行像某些主流语言那样的操作 ;) - Yates
y
。然后在函数内部,y
是一个参数,因此是一个不同的局部变量。关于更改参数的值或任何“变量”的价值还有更多的哲学论点。 - Tom Blodget