布尔函数参数和返回

Boolean function arguments and returning

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

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

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

但是对于函数内的 return 语句有没有办法做到这一点?

基本上,我要问的是:如果 returnItems 为真,是否可以 return 数量和项目,或者仅当 returnItems 为假时,没有 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

在我发布在另一个网站上的单独主题中回答。

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