[トップ][一覧][最近の更新]

編集履歴:差分

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の最適化機能で削除されます