Lua также поддерживает несколько возвращаемых значений: например, вы можете написать следующее:
function foo()
return 1, 2, 3
end
a, b, c, d = foo()
после выполнения a, b, c будет содержать значения 1, 2, 3, а d будет равно нулю. Таким же образом вы можете сделать следующее:
function bar()
return true, 2, 3
end
if bar() then
-- do something intelligent
end
оператор if в этом случае будет работать только с первым возвращенным значением - если вам нужны другие значения, вам придется хранить их в переменных, как обычно:
a, b, c = bar()
if a then
-- do something intelligent
end
так что вы видите: в Lua все возвращаемые значения, которые не нужны, отбрасываются (как 2, 3 в примере с if).