Har*_*rry 0 ruby class puts output
如果您运行以下内容:
puts Time
Run Code Online (Sandbox Code Playgroud)
然后输出如下;
Time
Run Code Online (Sandbox Code Playgroud)
这让我感到奇怪,但我还不知道为什么,同样适用于Class,和Method.
我可以看到这些是类,但为什么Ruby会将它们输出到控制台?
这些课程Time,Class,Method,等,都是他们自己的类的实例Class.
Time.class
# => Class
Run Code Online (Sandbox Code Playgroud)
Class继承to_s自Module#to_s,这是类的名称:
Time.to_s
# => "Time"
Run Code Online (Sandbox Code Playgroud)
执行时puts Time,Time将转换为字符串to_s,因此结果.