VARARGOUT Variable Output Arguments
Section: Functions and Scripts
Usage
FreeMat functions can return a variable number of output arguments by setting the last argument in the argument list tovarargout
.
This special keyword indicates that the number of return values
is variable. The general syntax for a function that returns
a variable number of outputs is
function [out_1,...,out_M,varargout] = fname(in_1,...,in_M)
The function is responsible for ensuring that varargout
is
a cell array that contains the values to assign to the outputs
beyond out_M
. Generally, variable output functions use
nargout
to figure out how many outputs have been requested.
Example
This is a function that returns a varying number of values depending on the value of the argument.
varoutfunc.m function [varargout] = varoutfunc switch(nargout) case 1 varargout = {'one of one'}; case 2 varargout = {'one of two','two of two'}; case 3 varargout = {'one of three','two of three','three of three'}; end
Here are some examples of exercising varoutfunc
:
--> [c1] = varoutfunc c1 = one of one --> [c1,c2] = varoutfunc c1 = one of two c2 = two of two --> [c1,c2,c3] = varoutfunc c1 = one of three c2 = two of three c3 = three of three