多くのプログラミング言語とは異なり、MAXScript コードのレイアウト規則には C や C++ のような自由形式言語の利点があり、しかもセミコロンやカッコで囲まれたパラメータ リストのような長々しい区切り記号は不要です。
MAXScript では、行区切りが式の中で行われることを前提に、複数行にまたがるステートメントや式を必要な箇所で区切ることができます。MAXScript は各行の終わりまでコードを読み込み、完全な式になっているかどうかを判断します。式が完全でない場合、MAXScript は式の終わりを検出するまで次の行に読み込みを続けます。
次に例を示します。
a + b * c / d - e + f * g / h
この行は、どの演算子の後でも区切ることができます。MAXScript では、演算子にもう 1 つの引数が必要なため、次の行が続けて読み取られます。
たとえば、次のようになります。
a + b * c / d - e + f * g / h
次の例で最初の行の式は完全な式なので、行を区切っても同じ結果は得られません。MAXScript では 2 つの行が別の式であると解釈され、2 つ目の式は演算子で始まるので、構文として正しくありません。
不可能:
a + b * c / d - e + f * g / h
部分式の終わりで区切る場合、行継続文字の「\
」(バックスラッシュ) を使用します。上の例では無効な区切りも、次のように「e」の後に行継続文字を使用することにより、有効になります。
例
a + b * c / d - e \ + f * g / h
行の最後の文字に「\
」(空白、タブ、またはコメント以外) がある場合、行区切りがなかったかのように次の行が続けて読み込まれます。
行継続文字は、引数が多数ある関数呼び出しを区切る場合によく使われます。詳細は、「式」を参照してください。
以上の手順により、同一のステートメントを次の形式で書くことができます。他の自由形式言語で使用するピリオドやセミコロンは不要です。
例
たとえば、if/then/else 構造は次のように記述できます。
if a < b then print c else print d
または
if a < b then print c else print d
または
if a < b then print c else print d
また、MAXScript では、複数のステートメントと式を 1 行に組み合わせることができます。以下のように、ステートメントまたは式は「;」で区切られます。
例:
print "End of input data reached" to:f ; close f ; f = undefined if a < 0 do (print "value out of range";a=0)
MAXScript のコメントは 2 つのハイフン「--」で始まり、行の終わりまで続きます。多くの場合、このヘルプ ファイルのコード例はこの種のコメントを使用しています。
例:
-- special cases... if first do subanims[6]=undefined-- subanims[6] is #Image_Motion_Blur_Multiplier