2010-01-20 1 views
18

Ich lerne Ruby.str.each in Ruby funktioniert nicht

Ich fand die Methode String#each bei http://ruby-doc.org/core/classes/String.html.

Wenn ich es versuchen, mit ...

irb(main):001:0> "hello\nworld".each {|s| p s} 
NoMethodError: undefined method `each' for "hello\nworld":String 

... aber ich bekomme, dass NoMethodError.

Ich benutze Ruby 1.9.1p253, also glaube ich nicht, dass ich eine alte Version verwende. Was ist los?

Antwort

7

Verwenden each_char statt:

"hello\nworld".each_char {|s| p s} 

, warum es nicht funktioniert, funktioniert es in 1.8, aber nicht 1.9.

+2

'String # jeder' iteriert nach Zeile, nicht char. – sepp2k

3

Sie suchen die Dokumentation für 1.8. Zeichenfolge # jede wurde in 1.9 entfernt. Benutze stattdessen each_line.