- Aide Scilab
- Fonctions avancées
- Built-in & external
- Libraries
- profiling
- argn
- bytecode
- bytecodewalk
- comp
- exec
- execstr
- function
- functions
- getd
- macr2tree
- mode
- sciargs
- code2str
- deff
- edit
- fun2string
- funcprot
- head_comments
- listfunctions
- macr2lst
- macro
- macrovar
- overloading
- recompilefunction
- str2code
- tree2code
- varargin
- varargout
Please note that the recommended version of Scilab is 2026.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 | Fonctions avancées | varargout >> |