The Return Expression

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
   --...
   )
   )
Note: It is unnecessary to place a 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.

Warning:

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.