2014-12-03 44 views
0

我想创建一个具有由调用方法生成的n值的数组。数组索引在生成值时无关紧要。使用方法生成的值创建数组的最简洁的代码

这是我在:

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

我喜欢做这样的事情2.times { Random.rand(10) }的想法,但是这并不能返回数组。有没有更简洁的方法?

+0

对于初学者:不要在标题标签做的好 – rene 2014-12-03 14:49:50

回答

5

Array::new接受块:

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

太棒了!我认为我们不能做得比这更好。 – kubasub 2014-12-03 16:25:36

+0

不是最短的代码,但可能是最简洁的代码。 – Stefan 2014-12-03 16:45:51

4

你可以做到这一点,使用的事实,times无遮挡的回报Enumerator

2.times.map { rand(10) } 
+1

知道! Dziekuje :) – kubasub 2014-12-03 15:36:39

+0

@KubaSub - 如果你想要“最短”(1..2)'比<2.times'短... – 2014-12-03 15:56:56

相关问题