2010-01-20 12 views
18

J'apprenais Ruby. J'ai trouvé la méthode String#each à http://ruby-doc.org/core/classes/String.html.str.each dans Ruby ne fonctionne pas

Lorsque je tente de l'utiliser ...

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

... mais je reçois que NoMethodError. J'utilise Ruby 1.9.1p253 donc je ne pense pas utiliser une ancienne version. Que se passe-t-il?

Répondre

7

Utilisation each_char à la place:

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

pour expliquer pourquoi il ne fonctionne pas, cela fonctionne en 1.8 mais pas 1.9.

+2

'Chaîne # each' itérée par ligne, pas char. – sepp2k

3

Vous regardez les documents pour 1.8. La chaîne # a été supprimée en 1.9. Utilisez each_line à la place.