2014-12-03 59 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

相關問題