Next: Multiple Return Values, Previous: Defining Functions, Up: Functions and Scripts [Contents][Index]
The body of a user-defined function can contain a return
statement.
This statement returns control to the rest of the Octave program. It
looks like this:
return
Unlike the return
statement in C, Octave’s return
statement cannot be used to return a value from a function. Instead,
you must assign values to the list of return variables that are part of
the function
statement. The return
statement simply makes
it easier to exit a function from a deeply nested loop or conditional
statement.
Here is an example of a function that checks to see if any elements of a vector are nonzero.
function retval = any_nonzero (v) retval = 0; for i = 1:length (v) if (v (i) != 0) retval = 1; return; endif endfor printf ("no nonzero elements found\n"); endfunction
Note that this function could not have been written using the
break
statement to exit the loop once a nonzero value is found
without adding extra logic to avoid printing the message if the vector
does contain a nonzero element.
When Octave encounters the keyword return
inside a function or
script, it returns control to the caller immediately. At the top level,
the return statement is ignored. A return
statement is assumed
at the end of every function definition.