2015-10-30 61 views
2

只使用紅寶石我想如何生成包含另一個數組元素的多個數組?

  • 產生隨機數

  • 陣列創建充滿樣品的X量從原來的號碼列表陣列的新的2維數組包含x量。

這是我...

a = 1000.times.map{rand(100)}.to_a 
b = 5.times.map{a.sample} 
#=> [3, 96, 23, 45, 41] 

我基本上要能夠產生什麼樣我的B,乘以x量一樣。

這可能嗎?

謝謝大家的意見!

回答

0

一個班輪做你想做什麼。

3.times.map {2.times.map {rand 1000} } 
#=> [[267, 476], [109, 950], [345, 137]] 
+0

這正是我所期待的。謝謝!! – jslice

0

我目前沒有安裝Rails,所以這裏是一個純粹的Ruby解決方案。

a = (0..1000).to_a.map! { rand(100) } 
x = 2 
b = (0..x).to_a.map! { a.sample(x) } 
# [[83, 73], [55, 93], [57, 18]] 
1

只是包裝你B的定義在另一個地圖:

a = 1000.times.map{rand(100)} # to_a is unnecessary here, map returns an array 
b = 5.times.map{5.times.map{a.sample}} 
+1

安德魯,謝謝你留在我的答覆,我隨後刪除的評論。請注意,如果OP的數組「a」在程序中的其他地方使用,則只有您正確答案是不正確的,但這只是明顯的錯誤。例如,如果第一個數組包含1,000'1'(不太可能如此),那麼'b'總是隻有'1',而我只是在最初指定的時間間隔內生成隨機值。 –

相關問題