Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - 日本語 - Русский

Please note that the recommended version of Scilab is 6.0.1. This page might be outdated.
See the recommended documentation of this function

Ajuda Scilab >> Funções > varargin

varargin

variável do número de argumentos de saída em uma lista de argumentos de entrada

Descrição

Uma função cujo último argumento de entrada é varargin pode ser chamada com mais argumentos de entrada que os indicados pela lista de argumentos de entrada. Os argumentos de chamada passados da palavra-chave varargin em diante podem ser recuperados em uma lista chamada varargin.

Suponha que a palavra-chave varargin é o n-ésimo argumento da lista de argumentos de entrada formal, então, se a função é chamada com n-1 argumentos de entrada, a lista varargin não é definida. Se a função for chamada com n-1 argumentos, então varargin é uma lista vazia

y= function ex(varargin) pode ser chamada com qualquer número de argumentos de entrada. Dentro da função ex argumentos de entrada podem ser recuperados em varargin(i) ,i=1:length(varargin)

Se não for o último argumento de entrada da função, varargin é um argumento de entrada normal, sem nenhum significado especial.

O número de argumentos de entrada real é dado por argn(2).

Observações

Sintaxe de argumento nomeada, como foo(...,key=value) ,é incompatível com o uso de varargin. A razão é que os nomes (i.e. keys) associados aos valores value não são armazenados na lista varargin. Considere por exemplo:

function foo(varargin),disp([varargin(1),varargin(2)]),endfunction

foo(a=1,b=2)

O Scilab responde: 1. 2.

foo(b=1,a=2)

O Scilab responde: 1. 2.

O resultado é o mesmo, mas os argumentos foram invertidos.

Exemplos

deff('exampl(a,varargin)',['[lhs,rhs]=argn(0)'
                          'if rhs>=1 then disp(varargin),end'])
exampl(1)
exampl()
exampl(1,2,3)
l=list('a',%s,%t);
exampl(1,l(2:3))

Ver Também

Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Oct 01 17:39:55 CEST 2012