【发布时间】:2015-05-25 05:14:28
【问题描述】:
下面的 Lua 代码:
local function foo(x, y, z)
local x = x or true
local y = y or 1234
z = z or "default"
end
我一直以为函数里面这三行的意思是:
如果 x/y/z 为 nil,则 x/y/z 设置为 true/1234/"default"。否则,无论它是什么,它都保持不变。因此,我在很多地方都有这样一行来将参数设置为某个默认值,以防它可能作为 nil 传递给函数。
但是,在我的实验中似乎并不完全正确。我不确定我在哪里学到了这个 Lua 编码概念。如何正确操作?
【问题讨论】:
-
如果我将
false作为第一个参数传递就会失败 -
风格是不要把
local放在前面。 (这实际上创建了一个新变量。您可以在某些调试器中看到它。)
标签: function parameters lua