S
function doSomething(a, b, c)
return a + b + c
end
function doSomethingElse(a, b, c)
return a * b * c
end
foo = 0 and doSomething(1, 2, 3) or doSomethingElse(4, 5, 6)
Size: a a a
S
function doSomething(a, b, c)
return a + b + c
end
function doSomethingElse(a, b, c)
return a * b * c
end
foo = 0 and doSomething(1, 2, 3) or doSomethingElse(4, 5, 6)
IS
IS
foo = 0 and doSomething(1, 2, 3)
IS
S
TL
TL
S
foo = 0 and doSomething(1, 2, 3)
==foo = false
if (0) then
foo = doSomething(1, 2, 3)
end
foo = 0 and doSomething(1, 2, 3) or doSomethingElse(4, 5, 6)
==foo = false
if (0) then
foo = doSomething(1, 2, 3)
else
foo = doSomethingElse(4, 5, 6)
end
Ровно до тех пор пока все условия кроме первого выдают истинные значения, иначе связки and'ов сломаются и оно пойдёт дальше.S
TL
IS
DEBUG = 0
DEGUB = 0 and print("silent")
DEGUB = 1 and print("verbose")
DEGUB = 2 and print("very verbose")
print("DEBUG", DEBUG)
silent
verbose
very verbose
DEBUG 0
IS
TL
S
IS
_ = DEBUG == 0 and print("no output")
_ = DEBUG == 1 and print("verbose")
_ = DEBUG == 2 and print("very verbose")
TL
S
IS
S
S