2016-05-20 4 views
0

, так что я знаю, что вы можете делать такие вещи, как это в Lua, чтобы отчасти сократить свой код, так что вы не должны делать ненужно, если заявлениялогические аргументы функции и возвращения

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

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

, но есть способ сделать что для оператора return внутри функции?

В основном, я спрашиваю: возможно ли вернуть сумму и пункты, если returnItems является истинным или только сумма, если 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 

ответ

1

Ответил в отдельном потоке я разместил на другом сайте.

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 
Смежные вопросы