What does the varargin function do and what does varargin{:} mean?

138 ビュー (過去 30 日間)
Victoria Helm
Victoria Helm 2020 年 6 月 24 日
編集済み: Stephen23 2022 年 2 月 23 日
For example: [varargin{:}] = convertStringsToChars(varargin{:});
  3 件のコメント
Stephen23
Stephen23 2020 年 6 月 24 日
"On the left hand side, it is being used for concatenation."
This is incorrect: no arrays are being concatenated.
When used on the LHS it refers to the elements of the cell array, just like on the RHS. The only difference is that values are being assigned to those elements rather than extracted from them. This is explained in the section "Assigning to a Comma-Separated List" here:
Tommy
Tommy 2020 年 6 月 26 日
編集済み: Tommy 2020 年 6 月 26 日
Somehow I missed this comment until now. Yikes, thank you for pointing out the mistake. Hopefully it is now correct.

サインインしてコメントする。

採用された回答

Stephen23
Stephen23 2020 年 6 月 24 日
編集済み: Stephen23 2022 年 2 月 23 日
"What does the varargin function do..."
varargin is not a function, it is a cell array which contains any number of optional input arguments:
"... and what does varargin{:} mean?"
That syntax creates a comma-separated list from the cell array varargin:
So your example is equivalent to this:
[varargin{1},varargin{2},..,varargin{end}] = convertStringsToChars(varargin{1},varargin{2},..,varargin{end});

その他の回答 (1 件)

KSSV
KSSV 2020 年 6 月 24 日
varargin stands for variable number of arguments. You can input any number of arguments to the function. And these inputs are read by nargin which means the number of inputs.

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by