【发布时间】:2013-03-14 15:47:56
【问题描述】:
我发现执行以下操作非常有用:
if not variable then
variable = value
end
当然,我通常宁愿那个变量是本地的,但我不能在我的 if 中声明它是本地的,否则它将无法访问。
所以有时我会这样做:
local variable
if not variable then
variable = value
end
问题是,当我遍历这段代码时,变量声明将变量设置为 nil。如果我可以接受一个全局值(我可以),我可以通过不在 if 块之外声明变量来绕过它。
但是有没有什么方法可以让我既拥有我的本地价值又让它保持它的价值?
【问题讨论】:
-
不清楚您在这里要做什么。如果您创建一个新的局部变量,那么根据定义它的值将为零。那么您到底要检查哪个变量的值?是否要声明一个新变量?
-
是递归函数调用吗?
标签: variables lua scope local declaration