0

以下を実行した場合:

puts Time

出力は次のようになります。

Time

これは奇妙に思えますが、理由はまだわかりません。同じことがClass、 、およびMethod.

これらがクラスであることはわかりますが、なぜ Ruby はそれらをコンソールに出力するのでしょうか?

4

2 に答える 2

5

クラスTimeClassMethodなどは、それ自体がクラス のインスタンスですClass

Time.class
# => Class

Classクラスの名前であるto_sから継承します。Module#to_s

Time.to_s
# => "Time"

を実行するputs Timeと、Timeによって文字列に変換されるto_sため、結果が得られます。

于 2015-08-02T11:47:06.600 に答える