I'm Learning Ruby.
I found the method String#each
at http://ruby-doc.org/core/classes/String.html.
When I try using it...
irb(main):001:0> "hello\nworld".each {|s| p s}
NoMethodError: undefined method `each' for "hello\nworld":String
...but I get that NoMethodError
.
I'm using Ruby 1.9.1p253 so I don't think I'm using an old version. What's going on?
Ruby 1.9 no longer has each
on the String
class. Use either each_char
or each_line
depending on what you want to do. The docs for Ruby 1.9 String
are http://ruby-doc.org/core-1.9.3/String.html.
Use each_char
instead:
"hello\nworld".each_char {|s| p s}
as to why it's not working, it works in 1.8 but not 1.9.
You're looking at the docs for 1.8. String#each has been removed in 1.9. Use each_line instead.
Works in 1.8.7, doesn't show up in the 1.9 docs -- must have been deprecated.
Here we go: https://web.archive.org/web/20090423003136/http://eigenclass.org/hiki.rb?Changes+in+Ruby+1.9#l113
来源:https://stackoverflow.com/questions/2104319/str-each-in-ruby-isnt-working