我很难想出一种功能性的方法来反转Ruby中的多维(偶数维度)数组.输入:[[1,2,3],[4,5,6],[7,8,9]]输出:[[7,4,1],[8,5,2],[9,6] ,3]]
这个迭代解决方案有效.
def reverse(arr)
size = arr.length
output = Array.new(size) { Array.new(size,0) }
arr.reverse.each_with_index do |a, i|
a.each_with_index do |a, j|
output[j][i] = a
end
end
output
end
Run Code Online (Sandbox Code Playgroud)
任何人都有任何洞察如何使用更多的函数式编程风格而不参考显式索引?
ruby arrays collections functional-programming multidimensional-array