Многие методы Ruby Enumerable
возвращают Enumerator
, если вы не передаете блок.
Пример:
array = [1,2,3]
array.each.class
# => Enumerator
array.each { |n| n+10 }.class
# => Array
Что является причиной этого? Почему бы им просто не вернуть nil
или что-то еще, сигнализирующее о том, что блок не был предоставлен.
each
сам по себе. - person sawa   schedule 26.10.2014