> もともと、instance.methodじゃなくてinstance.send(method)がで
> きるように、インスタンス変数にも代入先をダイナミックに決める、
> すっきりしたやりかたがあるのかな思って質問したのですが、そん
> な方法があったらevalなみに遅くなるのでしょうね。

書いてから気がついたのですが、sendが使えますね。

    def initialize(record)
        record.chomp.each_line do |l|
            key, value = l.chomp.split(/\t+/)
            self.send(key+"=", value)
        end
    end

これでやってみたら、ハッシュ版と同程度の速度が出ました。send
はevalほど重くないのですね。evalよりはわかりやすいと思うので
すが、

    protected
    attr :yomi ,true
    attr :partner ,true

などと、出てくる可能性のあるフィールドの数だけ宣言しておかな
いといけないので、別種の繁雑さが出てくるのが悩ましいところで
す。

-- 
川村 尚生