function
abre definição de função
endfunction
encerra definição de função
Descrição
function <lhs_arguments>=<function_name><rhs_arguments> <statements> endfunction
Onde
- <function_name>
é o nome da função
- <rhs_arguments>
é a lista de argumentos de entrada. Pode ser:
uma seqüência separada por vírgula de nomes de variáveis encerrada por parênteses, como
(x1,...,xm)
. O último nome de variável pode ser a palavra-chavevarargin
(ver varargin)a seqüência
()
ou nada, se a função não possui argumentos de entrada.
- <lhs_arguments>
é a lista de argumentos de saída. Pode ser:
uma seqüência separada por vírgula de nomes de variáveis encerrada por colchetes, como
[y1,...,yn]
. O último nome de variável pode ser a palavra-chavevarargout
(ver varargout)a seqüência
[]
, se a função não possui argumentos de saída. neste caso, a sintaxe também, pode ser:function <function_name><rhs_arguments>
- <statements>
conjunto de instruções Scilab (declarações). Esta sintaxe pode ser usada para definir funções (ver functions) inline ou em arquivo script (ver exec). Para compatibilidade com versões Scilab antigas, as funções podem ser definidas em um arquivo script contendo apenas definições de funções podem ser "carregadas" no Scilab através da função
exec
.
A seqüência function
<lhs_arguments>=<function_name><rhs_arguments>
não pode ser separada em várias linhas. Esta seqüência pode ser seguida
por declarações na mesma linha, se uma vírgula ou ponto-e-vírgula for
adicionado ao seu fim.
Note that <function_name> must respect some syntax rules (see names). |
Definições de funções podem ser aninhadas.
Exemplos
//definição inline function [x, y]=myfct(a, b) x=a+b y=a-b endfunction [x,y]=myfct(3,2) //uma definição de função de uma linha function y=sq(x),y=x^2,endfunction sq(3) //definição de função aninhada function y=foo(x) a=sin(x) function y=sq(x), y=x^2,endfunction y=sq(a)+1 endfunction foo(%pi/3) // definição em um arquivo script (ver exec) exec SCI/modules/elementary_functions/macros/asinh.sci;
Ver Também
Histórico
Versão | Descrição |
6.0.0 | function and endfunction are now protected:
Assignments like function=1 or endfunction=2
are no longer possible. |
Report an issue | ||
<< funcprot | Funções | getd >> |