我想創建一個具有由調用方法生成的n值的數組。數組索引在生成值時無關緊要。使用方法生成的值創建數組的最簡潔的代碼
這是我在:
(1..2).map { Random.rand(10) }
我喜歡做這樣的事情2.times { Random.rand(10) }
的想法,但是這並不能返回數組。有沒有更簡潔的方法?
我想創建一個具有由調用方法生成的n值的數組。數組索引在生成值時無關緊要。使用方法生成的值創建數組的最簡潔的代碼
這是我在:
(1..2).map { Random.rand(10) }
我喜歡做這樣的事情2.times { Random.rand(10) }
的想法,但是這並不能返回數組。有沒有更簡潔的方法?
Array::new
接受塊:
Array.new(2) { rand(10) } #=> [5, 2]
你可以做到這一點,使用的事實,times
無遮擋的回報Enumerator
:
2.times.map { rand(10) }
知道! Dziekuje :) – kubasub 2014-12-03 15:36:39
@KubaSub - 如果你想要「最短」(1..2)'比<2.times'短... – 2014-12-03 15:56:56
對於初學者:不要在標題標籤做的好 – rene 2014-12-03 14:49:50