[ruby-list:45473] Re: 文字列から配列への変換について

From: "西塔伸一郎" <omohideporoporo@...>
Date: 2008-09-05 00:38:11 UTC
List: ruby-list #45473
> Array("hogehoge")    # => ["hogehoge"]
> Array(["hogehoge"])  # => ["hogehoge"]

おはようございます。
西塔です。

rubikitchさん、ありがとうございます。

あれから、Kernel#Array(arg)を見てみました。
-------------------------------------
arg.to_ary と arg.to_a を使い配列に変換、
いずれのメソッドもない場合は Object#to_a により一要素の配列 [arg] を返す。
-------------------------------------
とありますが、1.9のStringクラスには to_ary, to_a 共に定義されていない様に思えます。
その場合、Object#to_a が呼び出されると思うのですが、
Object#to_a を見ると「デフォルトでは定義されていません」と書いてあります。

Kernel#Arrayで望む結果は得られるのですが、何故に配列に変換されるのでしょうか?
1.8ではEnumerableをインクルードしているから?

In This Thread