配列が当然の選択であると思われるものに対して、なぜ ruby が配列ではなく列挙子を返すのか、私は興味があります。例えば:
'foo'.class
# => String
ほとんどの人は、文字列を文字の配列と考えています。
'foo'.chars.class
# => Enumerator
では、なぜ String#chars は配列ではなく Enumerable を返すのでしょうか? 誰かがこれについて多くのことを考えて、列挙子の方が適切であると判断したと思いますが、その理由はわかりません。