Если a and t or f
не работает для вас, вы всегда можете просто создать функцию:
function ternary ( cond , T , F )
if cond then return T else return F end
end
print("blah: " .. ternary(a == true ,"blah" ,"nahblah"))
конечно, тогда у вас есть недостаток, что T и F всегда оцениваются ....
чтобы обойти это, вам нужно предоставить функции для вашей троичной функции, и это может стать громоздким:
function ternary ( cond , T , F , ...)
if cond then return T(...) else return F(...) end
end
print("blah: " .. ternary(a == true ,function() return "blah" end ,function() return "nahblah" end))