是否有任何简短的方法来访问嵌套数组的元素,并使用坐标传递数组?我的意思是:
matrix = [[1,2,3,4],[5,6,7,8]]
array = [1,1]
matrix [array]
# => 6
我只是想知道是否有比以下更短的版本:
matrix [array[0]][array[1]]
答案 0 :(得分:2)
我相信你想使用Matrix类:
require 'matrix'
arr = [[1,2,3,4],[5,6,7,8]]
matrix = Matrix[*arr] #=> Matrix[[1, 2, 3, 4], [5, 6, 7, 8]]
matrix[1,1] #=> 6
matrix.row(1) #=> Vector[5, 6, 7, 8]
c = matrix.column(1) #=> Vector[2, 6]
c.to_a #=> [2, 6]
m = matrix.transpose #=> Matrix[[1, 5], [2, 6], [3, 7], [4, 8]]
m.to_a #=> [[1, 5], [2, 6], [3, 7], [4, 8]]
答案 1 :(得分:1)
array.inject(matrix, :fetch)
# => 6
答案 2 :(得分:0)
matrix[1][1]
应该等于6. matrix [1]是第二个数组,matrix [1] [1]是该数组中的第二个元素。