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

編集履歴:過去のバージョン

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