嵌套的Ruby列表生成

Jef*_*f K 2 ruby arrays list range dynamic-arrays

我正在尝试生成一个如下所示的列表:

list = [[1, 1], [2, 2], [3, 3], [4, 4], ... [25, 25]]
Run Code Online (Sandbox Code Playgroud)

是否有一种简单的方法来实现与范围类似的东西?

更新:看起来像.zip胜利

  • .map时间已过去1184.344毫秒
  • .zip时间过去了706.23毫秒

测试:

beginning_time = Time.now
(1..2500000).map { |i| [i,i] }
end_time = Time.now
puts "Time elapsed #{(end_time - beginning_time)*1000} milliseconds"

beginning_time = Time.now
(1..2500000).zip 1..25
end_time = Time.now
puts "Time elapsed #{(end_time - beginning_time)*1000} milliseconds"
Run Code Online (Sandbox Code Playgroud)

Jas*_*ngh 6

试试这个:

(1..25).map { |i| [i,i] }
Run Code Online (Sandbox Code Playgroud)

输出:

[[1, 1], [2, 2], [3, 3], [4, 4], [5, 5], [6, 6], [7, 7], [8, 8], [9, 9], [10, 10], [11, 11], [12, 12], [13, 13], [14, 14], [15, 15], [16, 16], [17, 17], [18, 18], [19, 19], [20, 20], [21, 21], [22, 22], [23, 23], [24, 24], [25, 25]]
Run Code Online (Sandbox Code Playgroud)