他のプログラミング言語の規則にならい、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 ...