More ... | 編集履歴:差分2008/12/07 17:18:22 JSTと2008/12/07 18:37:48 JST間のy.tackの変更箇所
- * 主に書いた記事 - - [[モジュールについて]] - - [[HSPでもポリモーフィズムがしたい]] - - [[マクロ内に複数行のパラメータを送りたい]] - ** 本拠地 - [http://space.geocities.jp/digital_clock_2006/ ずざざん ざん♪] - - * プログラミングスキル - - HSPは(マニュアルの中級者向けってとこが読めるので)中級者。プログラミングに関しては初級者です。 - - * HSP覚え書き - - スクリプトを書いている時に忘れがちなこと - - - モジュール/モジュール変数の覚え書き - - - トークンの区切りはスペースと "," があるのでややこしい - - - "#module" - -- "#module" スペース モジュール名 スペース モジュール変数 "," モジュール変数・・・ - -- 例 #module m a,b,c・・・ - -- モジュール名と第一変数の区切りはスペースだが - -- 第一変数と第二変数の区切りは "," - - - "#modinit" - -- モジュールのコンストラクタは "#modinit"命令 - -- "#modinit" スペース 型 スペース 引数A "," 型 スペース 引数B・・・ - -- #modinit int l,int n,int m・・・ - -- 命令の名前は不要 - -- "#modinit"と引数Aの型の区切りはスペース - -- 引数Aの型と引数Aの名前の区切りもスペース - -- 引数Aの名前と引数Bの型の区切りは "," - - - "#modfunc" - -- "#modfunc" スペース モジュール命令名 スペース 型 スペース 引数A "," 型 スペース 引数B・・・ - -- 例 #modfunc mf int l,int n,int m・・・ - -- モジュール命令名と引数Aの型の区切りはスペース - -- 引数Aの型と引数Aの名前の区切りもスペース - -- 引数Aの名前と引数Bの型の区切りは "," - - - "newmod" - -- オブジェクトの作成は"newmod"命令 - -- "newmod" スペース オブジェクト名 "," モジュール名 "," 引数A "," 引数B・・・ - -- 例 newmod o,m,1,2,3・・・ - -- オブジェクトを"newmod"命令で作成しないとモジュール命令は使用できない - -- "newmod" と オブジェクト名 の区切りはスペース - -- オブジェクト名と モジュール名 の区切りは "," - - - モジュール命令の使用 - -- モジュール命令 スペース オブジェクト名 "," 引数A "," 引数B・・・ - -- 例 mf o,1,2,3・・・ - -- モジュール命令 と オブジェクト名 の 区切りは スペース - -- オブジェクト名 と 引数 の 区切りは スペース - - - "thismod" キーワード - -- "thismod"キーワードは"#modfunc"の中で - -- 同じモジュール内のモジュール命令を呼び出したい時に - -- オブジェクト名を指定するかわりに指定する - -- モジュール外から - -- mf o,1,2,3・・・ - -- モジュール内から - -- mf thismod,1,2,3・・・ - - - #deffunc/#defcfunc の覚え書き - -- #deffunc/#defcfunc スペース モジュール命令名 スペース 型 スペース 引数A "," 型 スペース 引数B・・・ - -- 関数/命令名と引数Aの型の区切りはスペース - -- 引数Aの型と引数Aの名前の区切りもスペース - -- 引数Aの名前と引数Bの型の区切りは "," - - 型の種類 - -- int、整数値(値渡し) - -- str、文字列(値渡し) - -- double、実数(値渡し) - -- var、変数(参照渡し) - -- array、配列(参照渡し) - -- label、ラベル - -- local、ローカル変数 - - -- 関数は値を渡す変数に代入していないとエラー - -- 関数の引数は()で括っていないとエラー - - * エラーへの対処 - - ** エラー例 - -- syntax error - →繰り返しマクロは閉じ忘れていませんか? - - -- strlen(s) - -- 等 - - -- Error41 - -- 関数を命令として記述しています - →返り値を代入すべき変数を記述していません - - -- l=strlen s - -- 等 - - -- error 4 : パラメーター式の記述が無効です - →関数の引数を()で括っていない可能性があります - - -- モジュールで括った変数、ラベルが存在しない - →参照していないモジュールは削除されます - モジュール内の命令を使用していない。 - もしくは変数とラベルだけのモジュールは - HSPの最適化機能で削除されます |