- 899 名前:名前は開発中のものです。 mailto:sage [2006/12/05(火) 05:44:59 ID:o7a/zfXd]
- やっぱり「ラベルの位置をあらかじめ把握しておく」という考え方がベストだと思う。
具体的には C++ のヘッダファイルみたいに宣言するか…、もしくはシナリオファイルを 別売のコンパイラにかけて、ラベルを抽出・定義したファイルを生成してもいい。 この方法なら、シナリオファイルを読むとき同時に対となるラベル定義ファイルを読むことで、 実行するシナリオファイルの全ラベルの位置を知ることができる。 そして実行時に余計な抽出作業をしなくてすむ。 短所として、今みたいにシナリオファイルを書いて即実行テスト、みたいな瞬発力は失われる。 ただ、実行時のパフォーマンスと天秤にかけたとき、どっちが優先されるべきか考えたら やはり犠牲になるのはこちらだろうと。 アドバイスとして「起動時に全シナリオを走査して〜」ってのを挙げてもらったけど、 そもそもラベルのデータって「ノベルクラス」が保持すべきデータだと思うのね。 こういった、できるだけデータを隠蔽しようとする姿勢が、これまで目指してきたカプセル化に 適ってると思うし(実際のコード内容がどうなってるかはともかく!)、 「データを起動時から終了時までグローバルに保持する」ってのにはちーと抵抗があるなぁ。 ノベルクラスがおはようからお休みまで存在するような構造ならいいんだろうけど…。 もちろん、上の方法で結果が出ないようなら他のどんな方法でも試さないといけないだろうな。 目的と手段を見誤らないようにしなくては。 ともあれ他の機能を充実させることのほうが先だ。やることはまだあるし! つかなんかよくわかんあくなってきた まだ眠いし
|

|