Мне любопытно, почему ruby возвращает Enumerator вместо Array для чего-то, что кажется очевидным выбором Array. Например:
'foo'.class
# => String
Большинство людей думают о строке как о массиве символов.
'foo'.chars.class
# => Enumerator
Так почему же String#chars возвращает Enumerable вместо Array? Я предполагаю, что кто-то много думал об этом и решил, что Enumerator более подходит, но я не понимаю, почему.