Подтвердить что ты не робот

Str.each в Ruby не работает

Я изучаю Ruby.

Я нашел метод String#each в http://ruby-doc.org/core/classes/String.html.

Когда я пытаюсь использовать его...

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

... но я получаю это NoMethodError.

Я использую Ruby 1.9.1p253, поэтому не думаю, что использую старую версию. Что происходит?

4b9b3361

Ответ 1

Ruby 1.9 больше не имеет each в классе String. Используйте либо each_char, либо each_line в зависимости от того, что вы хотите сделать. Документы для Ruby 1.9 String: http://ruby-doc.org/core-1.9.3/String.html.

Ответ 2

Вместо этого используйте each_char:

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

почему он не работает, он работает в 1.8, но не 1.9.

Ответ 3

Вы смотрите на документы для версии 1.8. Строка # каждая была удалена в 1.9. Вместо этого используйте each_line.