他のいくつかの言語のように、Lua (特にコロナ SDK を使用しています) で使用できる短縮された「if / then」構文はありますか?特に次の行に沿って:
res = (a == b) ? "It worked" : "It did NOT work"
他のいくつかの言語のように、Lua (特にコロナ SDK を使用しています) で使用できる短縮された「if / then」構文はありますか?特に次の行に沿って:
res = (a == b) ? "It worked" : "It did NOT work"
を表すx = a ? b : c
ために、lua-users wikiは次のように提案しています。
頻繁に使用され、強く推奨される解決策は、二項演算子と二項演算子を組み合わせて
and
、or
三項演算子に近づけることです。x = a and b or c
を表すx = a ? b : c ? d : e
ために、ウィキはさらに次のことを提案しています。
x = a and b or c and d or e
警告:b
この手法は、または が またはd
でnil
ある場合に失敗する可能性がありfalse
ます。
Lua ではブール式が短絡されているため、一般的なイディオムは and/or の構築です。
res = a == b and "It worked" or "It did NOT work"
個人的には、ほとんどすべての場合に if/then/else を好みます。
ルアは近道を持っていない、これだけ
a=a or "hi"
ちょうど同じように:
if not(a) then a="hi" end