我有以下哈希:
row = {:id => 1, :name => "Altus Raizen", :email => "altus@blarg.com"}
现在我有一个Person
与以下键具有相同属性的结构row
:
Person = Struct.new(:id, :name, :email)
我想Person
使用散列中的值动态填充对象row
,如下所示:
person = Person.new
person.id = row[:id]
person.name = row[:name]
person.email = row[:email]
上面的代码可以工作,但必须有一种更优雅的方式来实现,即动态填充属性。我该怎么做呢?(实际上我有 9 个属性,因此通过考虑为其他属性(例如电话、地址等)设置值,上面的代码变得更长更“丑陋”)。