Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
function
関数定義をオープンする
endfunction
関数定義を閉じる
説明
function <lhs_arguments>=<function_name><rhs_arguments> <statements> endfunction
ただし,
- <function_name>
は関数の名前を意味します.
- <rhs_arguments>
は入力引数のリストを意味します.
(x1,...,xm)
のように括弧で括った カンマ区切りの変数名の一覧となります. 最後の変数名はキーワードvarargin
と することも可能です (varargin 参照)関数に入力引数がない場合,
()
または 何も付けません.
- <lhs_arguments>
は出力引数のリストを意味します.
これは,
[y1,...,yn]
のように角括弧で括った カンマ区切りの変数名の一覧となります. 最後の変数名はキーワードvarargout
(varargout 参照)とすること が可能です.関数が出力引数を持たない場合,
[]
を指定します. この場合,構文を以下のようにすることも可能です:function <function_name><rhs_arguments>
- <statements>
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. |
Report an issue | ||
<< funcprot | Functions | functions >> |