2016-05-03 16 views
-1

ich diesen Fehler auf scan Methode mit regexNameerror: undefined lokale Variable oder Methode auf Scan-Methode

#<NameError: undefined local variable or method ` ' for #<MacShop:0x007faa2b059998>> 

Wenn ich die Rake Aufgabe für das Parsen aufrufen wird es mir, dass Fehler geben.

Wenn ich jedoch versuchte, den Fehler erneut zu spielen, verschwand er in der Konsole.

Das ist der Fehler nur passiert, wenn ich die Rake-Aufgabe ausführen, Wie kann ich es loswerden?

Die Ausnahme geschah in Zeile 59

 57: def get_modifier(line) 
     58: begin 
     59:  matchers = line.scan(/(\[.*?\])/).first[0].split("/") 
     60: rescue Exception => e 
     61:  ap(e) 
     62:  binding.pry 
    => 63:  matchers = [""] 
     64: end 
     65: matchers 
     66: end 

    [1] pry(#<MacShop>)> e 
    => #<NameError: undefined local variable or method ` ' for #<MacShop:0x007faa2b059998>> 
    [3] pry(#<MacShop>)> play -l 59 
    => ["[賣", "台南]"] 

GEMFILE

gem "hirb-unicode" 
gem "bond" 
+0

Could es ist ein Kodierungsproblem? Vielleicht ein Nicht-ASCII-Zeichen in dieser Datei, das Rubin dann als den Namen einer Variablen interpretieren würde? – user1934428

+0

Sie sollten im Idealfall niemals von Ausnahme retten, sondern von StandardError. –

+0

Können Sie auch die 'line'-Variable anzeigen Wenn der Fehler auftritt? – BoraMa

Antwort

1

Sie verwenden können "//" statt "/"

"/" bedeutet, ist ' " Aber "//" bedeuten, ist "/"

0

I der Ausnahme losgeworden durch die begin rescue Exception => e Block entfernt, aber noch nicht den Grund zu kennen. Meine Ruby-Version ist 2.2.2

Verwandte Themen