открывает определение функции
закрывает определение функции
Где:
указывает имя функции
указывает список входных аргументов. Он может быть
рядом имён переменных, разделённых
запятой и заключённым в круглые скобки,
например (x1,...,xm)
.
Последнее имя переменной может быть
ключевым словом
varargin
(см. varargin);
последовательностью ()
или ничего, если у функции нет входных
аргументов.
указывает список выходных аргументов. Он может быть
рядом имён переменных, заключённым в
квадратные скобки, например [y1,...,yn]
. Последнее имя переменной может быть ключевым словом varargout
(см. varargout);
последовательностью []
, если у функции нет выходных аргументов. В этом случае синтаксис может быть таким: function <имя_функции><входные_аргументы>
указывает набор Scilab-инструкций (операторов).
Этот синтаксис можно использовать для
определения функции (см. functions) как встраиваемую, либо в файле-сценарии (см. exec). Для совместимости
со старыми версиями Scilab'а функции,
определённые в файле-сценарии, содержащем только
определения функций, могут быть "загружены" в
Scilab используя функцию exec
.
Последовательность function <выходные_аргументы>=<имя_функции><входные_аргументы>
нельзя разделять на несколько строк. После этой последовательности можно ставить в этой же строке операторы, если в конце добавить запятую или точку с запятой.
![]() | Заметьте, что <имя_функции> должно удовлетворять некоторым правилам синтаксиса (см. имена). |
Определения функций могут быть вложенными.
//определение встраиваемой функции function [x, y]=myfct(a, b) x=a+b y=a-b endfunction [x,y]=myfct(3,2) //определение функции в одну строку function y=sq(x),y=x^2,endfunction sq(3) //определение вложенных функций function y=foo(x) a=sin(x) function y=sq(x), y=x^2,endfunction y=sq(a)+1 endfunction foo(%pi/3) // определение функции в файле-сценарии (см. 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. |