Ruby中为何要同时有to_s,to_str,inspect这三个函数?nil.inspect为何是“nil”
怪我咯
怪我咯 2017-04-24 09:09:51
0
2
721

ruby新手,求大侠指点一二。

怪我咯
怪我咯

走同样的路,发现不同的人生

Antworte allen(2)
Ty80

第一个问题:
to_s 应该是广泛存在的方法,to_str 应该是 String 或者很少的类才有的方法。ruby 确实有许多方法, https://ruby-china.org/topics/25311 。

第二个问题:
inspect 返回类型是 string,返回利于阅读的放映当前对象的字符串。 nil.inpsect 返回 "nil" 因为他就是返回 "nil",看 NilClass#inspect 文档就知道了。

刘奇

这里需要指出一个问题,那就是Ruby中的nil跟其他语言中的null是不一样的,nil是一个对象(不是一个类,他是NilClass这个类的一个对象),Ruby中用这个对象来代表没有任何东西,但它本身是一个对象。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage