- Scilab help
- Advanced functions
- Built-in & external
- Libraries
- profiling
- argn
- bytecode
- bytecodewalk
- code2str
- comp
- deff
- edit
- exec
- execstr
- fun2string
- funcprot
- function
- functions
- getd
- head_comments
- listfunctions
- macr2lst
- macr2tree
- macro
- macrovar
- mode
- overloading
- recompilefunction
- sciargs
- str2code
- tree2code
- varargin
- varargout
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
varargin
variable numbers of arguments in an input argument list
Description
A function whose last input argument is varargin
can be called with more input arguments than indicated in the input
argument list. The calling arguments passed form
varargin
keyword onwards may then be retrieved within
the function in a list named varargin
.
Suppose that varargin
keyword is the
n
th argument of the formal input argument list, then
if the function is called with less than n-1
input
arguments the varargin
list is not defined, if the
function is called with n-1
arguments then
varargin
list is an empty list.
y= function ex(varargin)
may be called with any
number of input arguments. Within function ex
input
arguments may be retrieved in varargin(i)
,i=1:length(varargin)
If it is not the last input argument of a function,
varargin
is a normal input argument name with no
special meaning.
The total number of actual input arguments is given by argn(2).
Remark
Named argument syntax like foo(...,key=value)
is
incompatible with the use of varargin. The reason is that the names (i.e.
keys) associated with values are not stored in the varargin list. Consider
for instance:
function foo(varargin),disp([varargin(1),varargin(2)]),endfunction
foo(a=1,b=2)
Scilab answers: 1. 2.
foo(b=1,a=2)
Scilab answers: 1. 2.
Result is the same, but the arguments were inverted.
Examples
See Also
Report an issue | ||
<< tree2code | Advanced functions | varargout >> |