まつもと ゆきひろです

In message "[ruby-list:8848] Re: mapping a tagged file onto a class"
    on 98/07/24, Takao KAWAMURA <kawamura / ike.tottori-u.ac.jp> writes:

|> どーしてもインスタンス変数にしたいですか? なんとなく,ハッ
|> シュに格納した方が自然な気がするんですが.それなら
|
|そうなのですか。Perl版ではハッシュにしていたのですが、Rubyな
|らインスタンス変数を使うんだろうと思いこんでいました。
|@fields['partner']と書くより@partnerと書く方がすっきりするの
|で嬉しい気がするのですが、やっぱり普通の初期化文を持たないイ
|ンスタンス変数を使うのは不自然でしょうか…。

いや,それは使い方次第です.というのもこのデータベースだとフィー
ルドが完全に不定になってしまいますから,プログラムの方が期待
しているレコードの構造だとは限らないわけですものね.まあ,そ
れはそれで良いのかも知れませんが.

あと,フィールド名がインスタンス変数として許されない形式であ
るという可能性もなきにしもあらずですね.そういうことを考える
必要があるかないかで決まるんではないかと思います.

|忠実な移植ではなくて、上述のようにハッシュをインスタンス変数
|に変更したりしているので、そのあたりで遅くなっているのかもし
|れません。まずは忠実移植版で比較してみようと思います。

いや,実はインスタンス変数と文字列をキーにしたハッシュを比較
するとアクセス速度はインスタンス変数の方が若干良いです.一方,
evalはそれなりに重いので,レコード数によってはその差がでてく
るかも知れません.やっぱりプロファイラがないと簡単には結論は
でないでしょうね.

# 作れってか ^^;;;
                                まつもと ゆきひろ /:|)