From: Robert Klemme Date: 2004-01-19T17:40:00+09:00 Subject: Re: setting instance variable "dynamically" "Bauduin Raphael" schrieb im Newsbeitrag news:400ad514$0$1128$6c56d894@feed0.news.be.easynet.net... > Thanks for the answers! > > In my class I now use this : > > instance_eval("@#{row[1]}=Translation.new(row)") I'd prefer using "instance_variable_set" because that doesn't require a setter method to be defined. irb(main):007:0> class Foo;end => nil irb(main):008:0> f=Foo.new => # irb(main):009:0> f.instance_variable_set "@foo", "bar" => "bar" irb(main):010:0> f => # irb(main):011:0> With your code: class Term attr :query, :fr, :nl, :en def initialize(dbh, id) @query = "select * from translations where id='#{id}'" dbh.select_all(query) do |row| instance_variable_set "@"+row[1], Translation.new(row) end end def get_french() @fr.value end end Regards robert