如何在ruby中调用多维数组的项目

时间:2011-04-13 14:57:30

标签: ruby arrays multidimensional-array

我有一个像这样的数组

i = 0
lines.each do |l|
  array[i] = l.split(',')
  i+=1
end

我希望在php中调用$array[1][3],但它没有用。我现在几个小时都在谷歌上搜索,但找不到解决方案。

2 个答案:

答案 0 :(得分:2)

首先对codez进行一些增强:

# initialize your vars
array = []
lines.each do |l|
  array << l.split ',' # use the << operator
end

现在在ruby中,数组的美元符号不是必需的,它表示全局变量,使用它们不是好习惯。

您应该像这样访问您的变量:array[1][3]

你可以在ruby1.9中使你的代码成为一个代码:

array = lines.each_line.map {|l| l.split ',' }

答案 1 :(得分:0)

如果您的问题是调用array[6][3]会返回Error: method [] undefined for nil之类的内容,请改为执行此操作:

array[6].to_a[3]

每当行(6)或列(3)超出范围时,它都会返回nilto_a确保即使行超出范围,它仍会提供一个空数组,以便搜索列不会返回错误。