Зачем возвращать счетчик?

Мне любопытно, почему ruby ​​возвращает Enumerator вместо Array для чего-то, что кажется очевидным выбором Array. Например:

'foo'.class
# => String

Большинство людей думают о строке как о массиве символов.

'foo'.chars.class
# => Enumerator

Так почему же String#chars возвращает Enumerable вместо Array? Я предполагаю, что кто-то много думал об этом и решил, что Enumerator более подходит, но я не понимаю, почему.

10
задан pguardiario 5 December 2012 в 08:58
поделиться