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

編集履歴:差分

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