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. Причина в том, что имена (то есть ключи), связанные со значениями, не хранятся в списке varargin. Рассмотрим пример:
-->foo(a=1,b=2)
1. 2.
-->foo(b=1,a=2)
1. 2.
Результат одинаковый, но аргументы были переставлены.
Примеры=1 then
disp(varargin)
end
endfunction
exampl(1)
exampl()
exampl(1,2,3)
l=list('a',%s,%t);
exampl(1,l(2:3))
]]>Смотрите также
argn
function
list
varargout