'代入' 演算子と '等価' 演算子の違いは何ですか。

MAXScript に関する質問と回答 > '=' 演算子と '==' 演算子の違いは何ですか。

MAXScript では、この 2 つの演算子の間に大きな違いがあります。

「=」は 代入演算子と呼ばれるもので、演算子の右側の式の結果を左側の変数に代入するために使用されます。

「==」は 等価比較演算子と呼ばれるもので、演算子の両側の式が等しいかどうかをチェックするために使用されます。等しければ true、等しくなければ false を返します。

「==」を「=」と誤って入力することがよくあり、これによって IF の比較式や初期化されない変数などでエラーが発生します。

次の例では、変数を 1 に設定しています。IF 式において a を 0 と比較しなければならないところを、誤って 0 を代入しています。このため、式の結果がブール値 (true または false) にならず、問題の発生を通知するエラー メッセージが生成されます。

代表的なエラー:

a = 1
if a = 0 then print "A is Zero!" else print "A is not Zero!"
-- Type error: if-test requires BooleanClass, got: 0

正しいコード:

a = 1
if a == 0 then print "A is Zero!" else print "A is not Zero!"
-->"A is not Zero!"

2 番目の例では、変数が 1 に設定されています。 IF 式において「a」は 0 と正しく比較されています。 式の結果はブール値 (false) になり、期待どおりの結果が出力されます。

関連事項