[Top Page][All Pages][Recent Changes]

Edit History:Diff

Changes of モジュールについて between Epoch and 2008/09/07 03:46:00 JST

  • + added lines
  • - deleted lines

Return to the edit history

- * モジュール使用の是非
- 先日、HSP開発wikiにスクリプトをのっけたところ@の使いすぎで見にくいという指摘を受けました。しかしモジュールを多用することは悪いことなのでしょうか?
- * 転機
- 僕も以前はモジュールでスクリプトを括ったことはありませんでした。一人でプログラミングしてるのに、名前の衝突なんて気にする必要はあるのでしょうか?そんな中興味本位でHSPの使用を2.61から3.0に変更しました
- * モジュール変数
- 3.0の目玉新機能と言えばモジュール変数ですが当然色々いじって遊びますよね。そんな中、よくわかんないけどモジュール変数にモジュール変数を格納してみようか?という誘惑が僕を襲いました。するとどうでしょうばっちり格納できるではありませんか。もうこれやめらんねーってしばらくなってました。モジュール変数にモジュール変数を格納できるとできることがかなり広がります(意味があるとか無いとかは置いておいて)
- - 例えばこんなこともできます。注:3.1β5ではバグで動きません
- {{{
- #module m o1,o2,id,n
- 	#define 再帰レベル=3
- 	#modinit int l_id,int num
- 	n=num
- 	id=l_id
- 	if n<再帰レベル{
- 		newmod o1,m,(id*10+1),(num+1)
- 		newmod o2,m,(id*10+2),(num+1)
- 	}
- 	return
- 	#modfunc 自己紹介
- 	if n<再帰レベル{
- 		s=""
- 		repeat (n-1),0:s+=" ":loop		
- 		logmes s+"私のIDは"+id+"です"
- 		logmes s+"私の部下にも挨拶させます"
- 		自己紹介 o1
- 		自己紹介 o2
- 	}else{
- 		s=""
- 		repeat (n-1),0:s+=" ":loop	
- 		logmes s+"私のIDは"+id+"です"
- 	}
- 	return
- #global
- 	newmod mdl_1,m,1,1
- 	自己紹介 mdl_1
- 	newmod mdl_2,m,2,1
- 	自己紹介 mdl_2
- stop
- }}}
- * @使いまくりになる
- 色々とモジュールを使っていると@をつけまくることがくせになります。こういう現象を手を動かして覚えるといいます。いつのまにか僕は@使いまくりになっていました。でも@を嫌う理由もわかるんですよ。僕もC++を勉強していた頃は->この記号が全然扱えませんでした。今思うと手を動かして覚えていなかったということなのでしょう。
- * @のプラス面、マイナス面
- モジュールで括るとマクロ、変数がどの辺で定義しているか何となくわかります。そのモジュールの中を探せばいいわけです。また、なんとなく同じモジュール内の要素に関連性を見出せます。しかし、手を動かして覚えてない人には@の記号をうけつけません。特に初心者に優しいというコンセプトのHSPでは致命的です。以上--[[りすと]]でした。