他のプログラミング言語の規則にならい、MAXScript の論理式は短絡である、つまり厳密ではありません。すなわち結果全体を特定するのに部分式の一部が評価されるだけということです。
最初のオペランドが and 式において false である場合、結果は false になります。このため、2 番目のオペランドは評価されません。
最初のオペランドが or 式において true である場合、結果は true になります。このため、2 番目のオペランドは評価されません。
これにより実行時間が節約できるため、略式表記が使えるようになります。
例: |
変数値 a が undefined でない場合に「 sin a 」を計算したいときは、次の例を使用することができます。 |
if a != undefined and sin a > 0 then... |
厳密な言語では「 sin a 」の評価を行うとエラーが発生するので(オペランドが undefined であるため)、次のように式を 2 つの if ステートメントに分割することが必要です。 |
if a != undefined then if sin a > 0 then ... |