# varargout

出力変数リストの引数の数を可変にする

## 説明

出力引数リスト `varargout`を含む関数は 出力引数に示されたよりも多くの出力引数を指定して コールされる必要があります. `varargout`キーワード以降に指定された引数は 関数で定義された`varargout`リストから 展開することができます.

`varargout= function ex()` は任意の数の 出力引数を指定してコールすることができます. 関数`ex`の中では 出力引数を`varargout(i)`に保存することができます.

`[X1,...Xn,varargout]= function ex()` も 使用可能です. この場合,`Xi`引数は, `varargout(i)`と同様に 関数内で代入される必要があります.

出力引数の実際の総数は,argn(1)で取得できます.

## 注記

`varargout` 変数は関数内で作成され, listに代入される必要があります. varargout が唯一の形式上の出力変数の場合, リストには最低でも一つのエントリを含む必要があります.

## 例

    function varargout=exampl()
      varargout=list(1,2,3,4)
    endfunction

    x=exampl()
    [x,y]=exampl()
    [x,y,z]=exampl()

    function [a,b,varargout]=exampl1()
      a='first'
      b='second'
      varargout=list(1,2,3,4)
    endfunction

    exampl1()
    [a,b]=exampl1()
    [a,b,c]=exampl1()

## 参照

- function
- varargin
- list