【发布时间】:2014-07-11 05:57:40
【问题描述】:
我刚开始使用 Lua,但函数访问局部变量时遇到问题。天真的方法,只是试图访问一个变量,似乎行不通。
function fn1()
print(foo)
end
local foo = "Hello, world"
fn1() -- Prints nil
在这种情况下,我可以将foo 传递给函数(如fn(foo)),但对于更复杂的情况,这会变得很棘手。
function fn1()
fn2()
end
function fn2()
print(foo)
end
local foo = "Hello, world"
fn1(foo) -- Also prints nil
从内部函数内部访问foo 的正确方法是什么?将foo 传递给fn1 然后传递给fn2 会起作用,但是当涉及多个变量和函数时,这会变得很困难。我不想让foo 成为全球性的。有没有其他方法可以完成这项工作?
【问题讨论】:
-
除非您需要,否则您可能也不希望将
fn1和fn2设为全局。
标签: lua