- Scilabヘルプ
- Functions
- Built-in & external
- Libraries
- profiling
- argn
- bytecode
- bytecodewalk
- comp
- deff
- edit
- exec
- execstr
- fun2string
- funcprot
- function
- functions
- getd
- head_comments
- listfunctions
- macr2lst
- macr2tree
- macro
- macrovar
- mode
- overloading
- recompilefunction
- sciargs
- tree2code
- varargin
- varargout
- code2str
- str2code
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
入力引数リストの引数の数を可変にする
説明
最後の入力引数がvararginとなる関数は
入力引数リストに示した数よりも多くの入力引数を指定して
コールすることができます.
vararginキーワードよりも後に渡された入力引数は,
関数内ではvararginという名前のリストとして取得することが
できます.
vararginキーワードが形式的な入力引数リストの中で
n番目の引数と仮定すると,
関数が n-1 個未満の入力引数を指定して
コールされた場合,
vararginリストは定義されませんが,
n-1個の引数を指定してコールされた場合には
vararginリストは空のリストとなります.
function y= ex(varargin) は
任意の数の入力引数を指定してコールすることが可能です.
関数exの中では, 入力引数は
varargin(i), i=1:length(varargin)
により取得可能です.
関数の最後の入力引数ではない場合,
vararginは,特殊な意味を持たない通常の
入力引数の名前となります.
実際の入力引数の総数は,argn(2)で取得できます.
注意
foo(...,key=value) のような名前付き引数構文は
vararginとは互換性がありません.
その理由は,
値に対応する名前(すなわち, keys) が varargin リストに
保存されないためです.
例えば,以下について考えてみてください:
function foo(varargin) disp([varargin(1),varargin(2)]) endfunction
-->foo(a=1,b=2)
1. 2.
-->foo(b=1,a=2)
1. 2.
結果は同じですが, 引数は逆になります.
例
参照
| Report an issue | ||
| << tree2code | Functions | varargout >> |