以下を実行した場合:
puts Time
出力は次のようになります。
Time
これは奇妙に思えますが、理由はまだわかりません。同じことがClass
、 、およびMethod
.
これらがクラスであることはわかりますが、なぜ Ruby はそれらをコンソールに出力するのでしょうか?
クラスTime
、Class
、Method
などは、それ自体がクラス のインスタンスですClass
。
Time.class
# => Class
Class
クラスの名前であるto_s
から継承します。Module#to_s
Time.to_s
# => "Time"
を実行するputs Time
と、Time
によって文字列に変換されるto_s
ため、結果が得られます。