As with the loop constructs, you can break out of a function body block-expression prematurely in MAXScript and return a result without evaluating the remaining portion of the block.
For this purpose, you can use the return
expression:
return <expr>
If a return
expression is evaluated in the course of running a function body, the function exits immediately and yields the value given in the return <expr>
.
SCRIPT:
fn find_root twod_fn = ( local root, last_root while true do ( --... if abs(root - last_root) < epsilon then return root --... ) )
return
expression at the end of a function body to return an expression value. Instead, simply place the result expression at the end of a function body.If a return <expr>
is used in a mapped function and a collection is passed as the first argument to the function, the value returned will be OK
rather than <expr>
.
As a special case, you can exit a script controller’s script using a return <expr>
.
In 3ds Max 6 and higher
You can call return()
in macroScripts whose body is a single expression (old style MacroScripts that do not implement 'on execute do ...' handler) to exit the MacroScript.
The return
expression is very slow. If your function will be called very often, try to avoid using it. See Do not use return, break, exit or continue for details.