> もともと、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 などと、出てくる可能性のあるフィールドの数だけ宣言しておかな いといけないので、別種の繁雑さが出てくるのが悩ましいところで す。 -- 川村 尚生