我還是新的紅寶石。 我的數組出於某種原因沒有被看到。 我在irb中測試了我的代碼邏輯,它似乎可以正常工作,但是當我在if語句中使用它時,它會打破標題中的錯誤。Ruby動態數組:未定義的局部變量或方法's'爲主:對象(NameError)
$s = []
i = 0
File.open("test.log").each do | l |
if l =~ /(m.)/
s << [$1]
i=i+1
end
if l =~ /(p.)/
s[i-1] << $1
end
end
s.each do |g|
p g
end
一個例子test.log中:
aaaaaaaaaaaaaaaaaa
m1
ggg
p1
p2
p3
p4
oooooooooooooo
m2
p1
p2
p3
p4
p5
gggggggggggggg
m3
p1
kkkkkkkkkkkk
m4
m5
llllllllllllll
我怎樣才能最終要與數組S,像這樣?
[[m1,p1,p2,p3,p4], [m2,p1,p2,p3,p4,p5], [m3,p1], [m4], [m5]]
+0不檢查您發佈的代碼是否提供了與問題中所述相同的錯誤消息。 –
已修復。沒有想到這是件大事 – mhz