Я учу Руби.
Я нашел метод String#each в http://ruby -doc.org / core / classes / String.html .
String#each
Когда я пытаюсь его использовать ...
irb(main):001:0> "hello\nworld".each {|s| p s} NoMethodError: undefined method `each' for "hello\nworld":String
... но я понял NoMethodError.
NoMethodError
Я использую Ruby 1.9.1p253, поэтому я не думаю, что использую старую версию. Что происходит?
Ruby 1.9 больше не имеет each в классе String. Используйте each_char или each_line в зависимости от того, что вы хотите сделать. Документы для Ruby 1.9 String: http://ruby -doc.org / core-1.9.3 / String.html .
each
String
each_char
each_line
Используйте each_char вместо:
"hello\nworld".each_char {|s| p s}
почему не работает, работает в 1.8, но не в 1.9.
Вы смотрите на документы для 1.8. Строка # каждая была удалена в 1.9. Вместо этого используйте each_line.
Работает в 1.8.7, не отображается в 1.9 документации - должно быть устарело.
Вот и мы: https://web.archive.org/web/20090423003136/http://eigenclass.org/hiki.rb?Changes+in+Ruby+1.9#l113