str.each in Ruby isn't working

你说的曾经没有我的故事 提交于 2019-11-29 16:28:34

问题


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?


回答1:


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.




回答2:


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.




回答3:


You're looking at the docs for 1.8. String#each has been removed in 1.9. Use each_line instead.




回答4:


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!