From: Daniel Liebig Date: 2007-06-12T21:00:16+09:00 Subject: assigning hash to attributes Hi, as i mentioned before, i'm pretty new to ruby. So i'm trying to optimize my code and learn the advantages of this nice language :). What i'm trying this time is to pass a hash of parameters (passed by a HTML form i.e.) to an new Object and then automatically assign the values of this hash to the attributes of that object named like the keys of that hash. After a lot of research and even more trail & error i ended up with this: class Example def initialize ( params = {} ) assign_params params unless params.nil? end def assign_params params params.each { | key, value | eval "@#{key} = '#{value}'" } end end At least, it works ;) Are there any suggestions for smarter or more efficient ways to accomplish this? Escpecially the usage of eval() to assign variable variables seems pretty workedaround to me. Thy for any hint :) D.