最简洁的代码,用于创建具有方法生成值的数组

时间:2014-12-03 14:46:30

标签: ruby

我想创建一个具有n个值的数组,这些值是通过调用方法生成的。生成值时,数组索引无关紧要。

这就是我所在的地方:

(1..2).map { Random.rand(10) }

我喜欢做类似2.times { Random.rand(10) }之类的想法,但这不会返回数组。有什么方法更简洁吗?

2 个答案:

答案 0 :(得分:5)

Array::new接受一个阻止:

Array.new(2) { rand(10) } #=> [5, 2]

答案 1 :(得分:4)

您可以使用times无块返回Enumerator的事实来执行此操作:

2.times.map { rand(10) }