关于二维数组使用的问题

关于二维数组使用的问题

我需要使用一个二维数组
现在写的代码如下:
class Map
 @@map = Array.new
 
 def Map.setMap(row, column, distance)
  @@map[row] = Array.new if @@map[row].class == NilClass
  @@map[row][column] = distance
 end 
 
 def Map.getMap()
  puts @@map
 end
end

Map.setMap(0,1,5)
Map.getMap

让我觉得不舒服的地方在setMap方法中的第一句,如果没有这句,会报NilClass不存在[]=方法...
我刚开始学习ruby,有没有更舒服一点的使用二维数组的方法~
比如setMap中不写第一句,只写第2句就能运行成功的~~~
不是很清楚,所以来请教~
谢谢!!!
class Map
 @@map = [[]]
 
 def Map.setMap(row, column, distance)  
  @@map[row][column] = distance
 end 
 
 def Map.getMap()
  p @@map
 end
end

Map.setMap(0,1,5)
Map.getMap
非常感谢!!
引用:
原帖由 axgle 于 07/12/28 15:36 发表
class Map
 @@map = [[]]
 
 def Map.setMap(row, column, distance)  
  @@map[row][column] = distance
 end 
 
 def Map.getMap()
  p @@map
 end
end

Map.setMap(0,1,5)
Map. ...
...还是有问题...当写Map.setMap(2,1,5)这句的时候还是会出现NilClass中无[]=方法的错误...
[[]]只能搞定row=0的时候,row != 0的时候就不行了...
其实[[]]这个方法只是初始化了一个一行一列的二维数组。。。
引用:
原帖由 llleelay 于 07/12/28 13:31 发表
我需要使用一个二维数组
现在写的代码如下:
class Map
 @@map = Array.new
 
 def Map.setMap(row, column, distance)
  @@map[row] = Array.new if @@map[row].class == NilClass
  @@map[row] ...


[Copy to clipboard] [ - ]
谢谢大家!