假设我有一个数组array = [1,2,3,4,5]
我想在2个独立的数组中收集数组的所有元素和索引,如
[[1,2,3,4,5], [0,1,2,3,4]]
如何使用单个Ruby collect语句执行此操作?
我正在尝试使用此代码
array.each_with_index.collect do |v,k|
# code
end
代码部分应该采用什么来获得所需的输出?
答案 0 :(得分:1)
甚至更简单:
[array, array.each_index.to_a]
答案 1 :(得分:1)
我喜欢刚刚发布的第一个答案。不知道为什么这个人删除了它。
array.each_with_index.collect { |value, index| [value,index] }.transpose
实际上我正在使用我调用each_with_index
方法的自定义矢量类。
答案 2 :(得分:0)
这是一个简单的方法:
array = [1,2,3,4,5]
indexes = *array.size.times
p [ array, indexes ]
# => [[1, 2, 3, 4, 5], [0, 1, 2, 3, 4]]
在repl.it上查看:https://repl.it/FmWg