如何生成包含另一个数组元素的多个数组?

时间:2015-10-30 18:10:41

标签: arrays ruby

使用Ruby我正在尝试

  • 生成一组随机数

  • 创建一个新的二维数组,其中包含x个数组,这些数组填充了原始数字列表中的x个样本数量。

这就是我的......

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

我基本上希望能够生成我在b中执行的操作,x次。

这可能吗?

感谢大家的评论!

3 个答案:

答案 0 :(得分: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 :(得分: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]]

答案 2 :(得分:0)

单行做你想做的事。

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