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