新規関数を登録する
#defcfunc p1 p2 p3,…
p1 : 登録する関数の名前 p2 p3~ : パラメータータイプ名・エイリアス名
ユーザーによる新規関数を登録します。 p1に新規関数の名前を、p2以降に呼び出しパラメータタイプを指定します。 #defcfunc命令で定義した名前をスクリプト内で関数として使用することが可能になります。 新規関数は、 #defcfuncで指定された行以降が実行される内容になります。実行はgosub命令と同じくサブルーチンジャンプとして行なわれ、 return命令でもとの実行位置に戻ります。 その際にreturn命令に戻り値のパラメーターを指定する必要があります。 例 : #defcfunc half int a return a/2 追加された新規関数ではパラメータを受け取ることができるようになります。 それぞれのパラメータには、パラメータタイプとエイリアス名の指定が可能です。指定するパラメータタイプには以下のものがあります。 int : 整数値 var : 変数(配列なし) array : 変数(配列あり) str : 文字列 double : 実数値 local : ローカル変数 エイリアス名は、渡されたパラメーターの内容を示すもので、変数とほとんど同じ感覚で使用することができます。 varとarrayの使い分けには注意が必要なほか、 ローカル変数を示すlocalタイプは特殊な用途となります。 詳しくは、プログラミングマニュアル(hspprog.htm)のモジュール項目を参照してください。 新規関数の名称は、通常すべてのモジュール空間、グローバル空間で共有されます。 ただし、local指定の後に名称を指定した場合は、モジュール固有のものとして扱われます。 例 : #module user #defcfunc local test int a return a+5 #global mes test@user(5) これは、モジュール内でのみ使用される関数を定義する場合などに使用することができます。 local指定により登録された名称は、必ず「名称@モジュール名」の形式で呼び出す必要があります。
バージョン | 3.5 |
作成日 | 2017/09/13 |
著作者 | onitama |
URL | http://hsp.tv/ |
備考 | ver3.5標準命令 |
タイプ | 内蔵命令 |
グループ | プリプロセッサ命令 |
対応環境 |
|
移植のヒント | HSPLet時、引数の型は str/int/double/var/array のみサポートされています。
local などは指定できません。 |
hs ファイル | hsphelp\i_prep.hs |