undefined method `gsub' for nil:NilClass (NoMethodError
Habe ich die folgenden code-snippet:
line_sub = Regexp.new(/\s+|"|\[|\]/)
tmp = Array.new
# reading a file
while line = file.gets
...
tmp[0],tmp[1] = line.to_s.scan(/^.*$/).to_s.split('=')
#remove unwanted characters
tmp.collect! do |val|
val.gsub(line_sub, "")
end
...
end
aber wenn ich den code bekomme ich die Fehlermeldung:
undefined method `gsub' for nil:NilClass (NoMethodError)
etwas scheint hier falsch:
tmp.collect! do |val|
val.gsub(line_sub, "")
end
Irgendeine Idee?
InformationsquelleAutor tokhi | 2012-11-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
versuchen auf diese Weise für Ihre Lösung
InformationsquelleAutor Dipak Panchal
Bedeutet es
tmp[0]
- und/odertmp[1]
istnil
. Ihrenicht so funktionieren wie Sie sollen. Besser prüfen Sie das Ergebnis, dass ein Teil.
Übrigens
line.to_s.scan(/^.*$/).to_s
keinen Sinn. Wenn Sie arbeiten möchten, auf jede Zeile der DateiInformationsquelleAutor sawa
Eines der Zeile, die Sie Lesen, ist entweder leer, oder enthält es keine
'='
Charakter.InformationsquelleAutor oldergod
Fügen Sie eine Bedingung wie diese
InformationsquelleAutor vijikumar
Sollte es immer Wert sein, auf jeder Seite des "=" in der Zeile, wie
"foo=bar"
und nicht"foo="
, dann versuchen Sie so etwas wie dieses:InformationsquelleAutor brentmc79