Max Script 基本文法:条件分岐・エラー回避処理
掲載日:2020/7/18
条件分岐
if文
ヘルプ
[HELP] MAXScript 言語リファレンス > プログラム フロー制御 > If 式
[HELP] よくある質問と回答 > MAXScript の構文と用語 > If...Then および If...Do を使用するのはどのような場合ですか。
[HELP] よくある質問と回答 > MAXScript の構文と用語 > If...Then および If...Do を使用するのはどのような場合ですか。
if … then … else
Max Scriptのサンプル
--[例1] a = 10 b = 10 if (a != b ) then ( print "この行は通過しません" ) else ( print "この行は通過します" )
if … do …
else を使わない場合、if…do…を使うことが推奨されています。Max Scriptのサンプル
--[例2] a = 10 b = 10 if ( a == b ) do ( print "この行は通過します" )
case文
ヘルプ
[HELP] MAXScript 言語リファレンス > プログラム フロー制御 > Case 式
Max Scriptのサンプル1
case文を使う場合。
変数「takasa」の値が 「1の場合」、「2の場合」、「3の場合」、「それ以外の場合」 の4つの処理に振り分ける例。
変数「takasa」の値が 「1の場合」、「2の場合」、「3の場合」、「それ以外の場合」 の4つの処理に振り分ける例。
case takasa of ( 1:$.pos.z = 10 2:$.pos.z = 20 3:$.pos.z = 30 default:$.pos.z = 0 )
Max Scriptのサンプル2
条件判定で処理を振り分ける例。
変数「takasa」の値 が 「0 未満の場合」、「0 の場合」、「0 を超える場合」の3つの処理に振り分ける例。
変数「takasa」の値 が 「0 未満の場合」、「0 の場合」、「0 を超える場合」の3つの処理に振り分ける例。
case takasa of( (takasa < 0 ):$.pos.z = 10 (takassa == 0 ):$pos.z = 20 (talasa > 0):$pos.z = 30 )
Max Scriptのサンプル
処理内容が複数行にわたる場合は()でくくります。
a = 1 case a of( 1:( print "1"; print "2"; ) 2:( print "a"; print "b"; ) default: print "A"; )
真と偽
解説とメモ
プログラミングにおいて、「真」「偽」という言葉が使われることがあります。
「真」は 「true」。「偽」は 「false」、の意味として理解しておけばほぼ問題ありません。
if 文では then ( の後に記述する処理は、「条件が真の場合」に実行される処理を記述します。
したがって下記のサンプルでは、if文に条件式を記していませんが true のときの処理が実行されます。
「真」は 「true」。「偽」は 「false」、の意味として理解しておけばほぼ問題ありません。
if 文では then ( の後に記述する処理は、「条件が真の場合」に実行される処理を記述します。
したがって下記のサンプルでは、if文に条件式を記していませんが true のときの処理が実行されます。
Max Scriptのサンプル
flag = true if (flag) then ( --trueのときの処理 print "通過します" )
エラー回避処理
解説とメモ
エラーが発生したときに正常時と異なる処理をさせたい場合、「try ~ catch文」で処理を振り分けることができます。
Max Scriptのサンプル
try(
select $nothing
) catch (
format "存在しないオブジェクト名です\n"
)
ヘルプ
[HELP]MAXScript 言語リファレンス > プログラム フロー制御 > Try 式
try( select $nothing ) catch ( format "存在しないオブジェクト名です\n" )
[HELP]MAXScript 言語リファレンス > プログラム フロー制御 > Try 式
maxScript の記事一覧
・基本情報
・変数
・演算子
・文字列
・配列
・ループ
・条件分岐・エラー回避処理
・関数(Function)
