gpt4 book ai didi

function - 在Lua中,如何正确地将nil参数设置为某个默认值?

转载 作者:行者123 更新时间:2023-12-02 21:32:02 24 4
gpt4 key购买 nike

对于下面的 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 为零,则 x/y/z 设置为 true/1234/"default"。否则,它仍然是原来的样子。因此,我在很多地方都有这样一行来将参数设置为某个默认值,以防它可能作为 nil 传递到函数中。

但是,在我的实验中似乎并不完全正确。我不知道我从哪里学到这个 Lua 编码概念。如何正确地做到这一点?

最佳答案

只要您的 bool (?)变量 x 未初始化为 false,该方法就会起作用。如果您只想对 nil 值使用默认值,则 a 或 b 方法是正确的。

如果您的变量可以为false,则必须使用严格的 if-then block :

if x == nil then x = true end

您可以在 lua wiki 上看到更多关于三元运算符的方法/示例.

关于function - 在Lua中,如何正确地将nil参数设置为某个默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29189502/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com