我正在创建一些测试,我想创建一个将不同参数传递给构造函数的对象数组,有没有一种聪明的方法来做到这一点?
例如,假设我有这个代码:
foos = 3.times.map{ Foo.new("a") }
这段代码会给我一个带有 3 的数组foo
,但它们都用"a"
参数初始化。
我宁愿有一个数组,其中第一个初始化为"a"
,第二个初始化为,"b"
第三个初始化为"c"
,就像这样做一样:
foos = [Foo.new("a"),Foo.new("b"),Foo.new("c")]
有没有更聪明的方法来做到这一点?
试试这个
%w(a b c).map { |s| Foo.new(s) }
如果你不知道
%w(a b c)
是一种更简短的说法
["a", "b", "c"]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句