octave: Returning from a Function
11.7 Returning from a Function
==============================
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.
-- Keyword: return
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.