布尔函数参数和返回值

所以我知道你可以在Lua中做这样的事情,以缩短你的代码,这样你就不必进行不必要的if语句

function checkMath(equation)
        if equation == 4 then
                return true
        end
        return false
end

workspace.Part.BrickColor = BrickColor.Green() or BrickColor.Red()

但是在函数内部是否有一种方法可以返回数量和项目,如果returnItems为true,只返回数量如果returnItems为false,而不需要if语句呢?

基本上,我想问的是:是否有可能在函数内部实现这一点?

我考虑做什么(没有测试):

countDictItems = function(tab,returnItems)
    local amount = 0
    local items = {}
    for _, ind in pairs(tab) do
        amount = amount + 1
    end
    return amount, items or amount
end
点赞
用户6079712
用户6079712

在另一个网站上发布的单独线程中已经回答。

function blah(returnitems)
amount = 15
items = {"blah1", "blah2"}
return amount, returnitems and items or nil
end

print(blah(true))
print(blah(false))

输出:

>15 table: 0x9e26e0
>15 nil
2016-05-20 20:32:05