MAXScript のループ構文により、関数本体のブロック式から途中で抜け出し、しかも、残りのブロックを評価することなく結果を返すことができます。
それには、次の return
式を使用します。
return <expr>
関数本体で return
式が評価されると、関数はただちに終了し、return <expr>
で返される値を生成します。
スクリプト:
fn find_root twod_fn = ( local root, last_root while true do ( --... if abs(root - last_root) < epsilon then return root --... ) )
return
式を置いて式の値を返す必要はありません。関数本体の最後に結果式を置くだけで十分です。マップされた関数で return <expr>
が使用され、コレクションが最初の引数として関数に渡される場合、返される値は <expr>
ではなく OK
になります。
特殊な場合には、return <expr>
を使用して、スクリプト コントローラのスクリプトを終了できます。
3ds Max 6 以降の場合
本体が単一式である macroScript ('on execute do ...' ハンドラを実装していない旧スタイルの MacroScript)で return()
を呼び出して、MacroScript を終了できます。
return
式は非常に低速です。関数が頻繁に呼び出される場合は、この式を使用しないようにしてください。詳細は、「return、break、exit、continue を使用しない」を参照してください。