ループ終了

MAXScript では、exit 構文を使用して、ループ テスト式がまだ true であっても、fordowhile ループから早期に脱出できます。

これはループ テスト式を単純化する場合に役立つことが多く、ループの本体 <expr> のエラーまたはその他の複雑な終了テストも引き続き使用できます。

構文を次に示します。

exit [ with <expr> ]

例:

    while x < y do
    (
    local delta = x - y
    if delta <= 0 then exit -- time to bail
    $foo.pos.x = compute_x (foo / delta)
    x += 0.1
    )

オプションの with <expr> を使用すると、ループが早期に終了したときに必要なループ式の全体の値を指定することができます。

終了値を指定しない場合、ループは終了後に undefined 値を返します。

with <expr> を使用した for ... do ループの終了結果が、式の値になりました。

注: 3ds Max 6 以前のリリースでは、OK が返されます。

with <expr> を使用して for ... collect ループを終了すると、終了時点までに収集された本体値の配列が結果として返されます。

パフォーマンスに関する警告:

exit 構文を使用したループの脱出が try/catch によって内部的に実装されていますが、これは非常に低速です。

パフォーマンス上の理由から、3ds Max 6 では、オプションの while テストを for ループ に追加することをお勧めします。