我有一个像这样的数组
i = 0
lines.each do |l|
array[i] = l.split(',')
i+=1
end
我希望在php中调用$array[1][3]
,但它没有用。我现在几个小时都在谷歌上搜索,但找不到解决方案。
答案 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)超出范围时,它都会返回nil
。 to_a
确保即使行超出范围,它仍会提供一个空数组,以便搜索列不会返回错误。