2010-01-20 9 views
18

Sto imparando Ruby.str.each in Ruby non funziona

Ho trovato il metodo String#each a http://ruby-doc.org/core/classes/String.html.

Quando provo ad usarlo ...

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

... ma ottengo che NoMethodError.

Sto usando Ruby 1.9.1p253 quindi non penso di utilizzare una versione precedente. Cosa sta succedendo?

risposta

7

Uso each_char invece:

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

sul motivo per cui non funziona, funziona in 1.8, ma non 1.9.

+2

'String # each' iterato da riga, non char. – sepp2k

3

Stai guardando i documenti per 1.8. Ogni stringa # è stata rimossa in 1.9. Usa invece ogni_line.