#deffunc

新規命令を登録する

#deffunc p1 p2 p3,…

p1      : 割り当てられる命令の名前
p2 p3~ : バラメータタイプ名・エイリアス名

解説

ユーザーによる新規命令を登録します。
p1に新規命令の名前を、p2以降に呼び出しパラメータタイプを指定します。
#deffunc命令で定義した位置より以降は、指定された名前を命令語として
使用することが可能です。

新規命令は、#deffuncで指定された行以降が実行される内容になります。
実行は gosub命令と同じくサブルーチンジャンプとして行なわれ、return命令
でもとの実行位置に戻ります。

例 :
	#deffunc test int a
	mes "パラメーター="+a
	return

追加された新規命令ではパラメータを受け取ることができるようになります。
それぞれのパラメータには、パラメータタイプとエイリアス名の指定が可能で
す。指定するパラメータタイプには以下のものがあります。

   int     :  整数値
   var     :  変数(配列なし)
   array   :  変数(配列あり)
   str     :  文字列
   double  :  実数値
   label   :  ラベル
   local   :  ローカル変数

エイリアス名は、渡されたパラメーターの内容を示すもので、変数とほとんど
同じ感覚で使用することができます。
varとarrayの使い分けには注意が必要なほか、 ローカル変数を示すlocalタイ
プは特殊な用途となります。
詳しくは、プログラミングマニュアルのモジュール項目を参照してください。

特殊な用途として、パラメータータイプの替わりに「onexit」を記述することで、
クリーンアップ命令として登録することができます。クリーンアップ命令は、
HSPスクリプト実行の終了時に自動的に呼び出されます。 

例:
	#deffunc 名前 onexit

モジュールによって機能を拡張した場合などにその後始末、システムやメモリの
解放などを行なうために利用することができます。 

関連項目

#globalモジュールの終了
#moduleモジュールの開始
#modfunc新規命令を割り当てる
#modinitモジュール初期化処理の登録
#modtermモジュール解放処理の登録
mref特殊なメモリを変数に割り当てる

サンプル逆引き (8)

defcfunc.hsp
demo.hsp
macro.hsp
modtest2.hsp
modtest3.hsp
modtest4.hsp
shoot.hsp
sndedit.hsp

情報

バージョン3.1
作成日2004/10/12
著作者onitama
URLhttp://www.onionsoft.net/
備考ver3.1標準命令
タイプ内蔵命令
グループプリプロセッサ命令
対応環境
  • Windows 版 HSP
  • コマンドライン版 HSP
  • HSPLet
移植のヒントHSPLet時、引数の型は str/int/double/var/array のみサポートされています。
local などは指定できません。
hs ファイルhsphelp\i_prep.hs