class TestClass
attr_accessor :name, :id
end
values = ["test1", "test2"]
mapped_values = values.map{|value|
test_class = TestClass.new
test_class.name = value
test_class.id = #some random number
return test_class
}
puts mapped_values
显然这不起作用,它只会返回第一个值而不是新构建的整个列表。 我有这个测试脚本,我想要实现的是它从Array.map操作返回值名称和ID的TestClass的列表。我只是想在Ruby中找到最好的方法。如何在ruby Array Map中构造一个对象?
我可以做这样的事情
tests = []
values.each do |value|
test_class = TestClass.new
test_class.name = value
test_class.id = #some random number
tests << test_class
end
我相信一定有这样做的更好的办法?
您的底部示例*非常容易阅读和理解。 – slhck 2013-03-20 09:56:55