abre definição de função
encerra definição de função
function <lhs_arguments>=<function_name><rhs_arguments> <statements> endfunction
Onde
é o nome da função
é 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-chave
varargin
(ver varargin)
a seqüência ()
ou nada, se a função não
possui argumentos de entrada.
é 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-chave
varargout
(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>
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.
//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; | ![]() | ![]() |
Version | Description |
6.0.0 | function and endfunction are now protected:
Assignments like function=1 or endfunction=2
are no longer possible. |