関数定義をオープンする
関数定義を閉じる
function <lhs_arguments>=<function_name><rhs_arguments> <statements> endfunction
ただし,
は関数の名前を意味します.
は入力引数のリストを意味します.
(x1,...,xm)
のように括弧で括った
カンマ区切りの変数名の一覧となります.
最後の変数名はキーワードvarargin
と
することも可能です
(varargin 参照)
関数に入力引数がない場合, ()
または
何も付けません.
は出力引数のリストを意味します.
これは,[y1,...,yn]
のように角括弧で括った
カンマ区切りの変数名の一覧となります.
最後の変数名はキーワード varargout
(varargout 参照)とすること
が可能です.
関数が出力引数を持たない場合,[]
を指定します.
この場合,構文を以下のようにすることも可能です:
function <function_name><rhs_arguments>
Scilab命令(ステートメント)の集合を意味します.
この構文は,インラインまたはスクリプトファイル(exec 参照)の中で
関数を定義する (functions 参照)ために使用できます.
古いバージョンのScilabとの互換性のため,
function 定義のみを含むスクリプトファイルで定義された関数は,
exec
関数によりScilabに"ロードする"ことができます.
function <lhs_arguments>=<function_name><rhs_arguments>
のシーケンスは複数の行に分割することができません.
このシーケンスはカンマまたはセミコロンを終端に付けることにより,
同じ行に命令を続けることができます.
![]() | <function_name> は
いくつかの構文規則に従う必要があることに注意してください
(names参照). |
function の定義はネストすることが可能です.
//インライン定義 (function参照) function [x, y]=myfct(a, b) x=a+b y=a-b endfunction [x,y]=myfct(3,2) //1行で関数定義 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. |