Menu
Coddy logo textTech

短絡評価

CoddyのLuaジャーニー「Fundamentals」セクションの一部 — レッスン 23/90。

and および or 演算子では、短絡評価(ショートサーキット評価)と呼ばれる巧妙な最適化が使用されます。これは、Lua が最終的な結果が判明した時点で評価を停止し、式の一部を完全にスキップする可能性があることを意味します。

and 演算子の場合、最初の条件が false であれば、Lua は2番目の条件をチェックすることなく、式全体が false になることを即座に判断します:

playerAlive = false
hasWeapon = true

canFight = playerAlive and hasWeapon
-- Lua は playerAlive (false) のみをチェックし、hasWeapon を評価することはありません

同様に、or 演算子の場合、最初の条件が true であれば、Lua は結果が true になることを認識し、2番目の条件をスキップします:

hasKey = true
hasPassword = false

canEnter = hasKey or hasPassword
-- Lua は hasKey (true) のみをチェックし、hasPassword を評価することはありません

チートシート

Luaは、andおよびor演算子に対して短絡評価を使用し、最終的な結果が判明した時点で評価を停止します。

and演算子の場合:最初の条件がfalseであれば、2番目の条件は評価されません。

playerAlive = false
hasWeapon = true

canFight = playerAlive and hasWeapon
-- playerAlive (false) のみをチェックし、hasWeapon はスキップします

or演算子の場合:最初の条件がtrueであれば、2番目の条件は評価されません。

hasKey = true
hasPassword = false

canEnter = hasKey or hasPassword
-- hasKey (true) のみをチェックし、hasPassword はスキップします

自分で試してみよう

このレッスンにはコードチャレンジは含まれていません。

quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

Fundamentalsのすべてのレッスン