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