Truthy と Falsy な値
CoddyのLuaジャーニー「基礎」セクションの一部。レッスン 24/90。
and、or、notのような論理演算子を使用するとき、Luaは論理コンテキストにおいて何が「true」または「false」と見なされるかを判断する必要があります。この概念はtruthyとfalsyの値と呼ばれ、Luaでは他の多くのプログラミング言語とは異なる方法で処理されます。
Luaでは、論理演算でfalseとして扱われるfalsyと見なされる値は2つだけです。
print(false and "This won't print") -- false is falsy
print(nil and "This won't print") -- nil is falsyLua では、それ以外のすべてが truthy と見なされます(論理演算では true として扱われます)。他の言語を使ってきた場合、次のような値には驚くかもしれません。
print(0 and "This will print") -- 0 is truthy in Lua!
print("" and "This will print") -- Empty string is truthy!
print({} and "This will print") -- Empty table is truthy!自分で試してみよう
このレッスンにはコードチャレンジは含まれていません。
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Luaオンラインコンパイラ