More ... | 編集履歴:差分2008/05/31 09:39:39 JSTと2008/12/07 17:15:05 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の最適化機能で削除されます |