ループ終了

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 ループ に追加することをお勧めします。