ruby – NilClass,TrueClass和FalseClass的目的是什么

前端之家收集整理的这篇文章主要介绍了ruby – NilClass,TrueClass和FalseClass的目的是什么前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
NilClass,TrueClass和FalseClass各有一个实例,即nil,true和false,它们是常量,拥有这些类的目的是什么?为什么它们不能成为Object类的实例,并且所有相关方法都被简单地定义为nil,true和false的单例方法?一个相关的问题是,为什么这些没有被定义为常数?

@R_502_323@

它始终坚持“一切都是对象”和“对象由它们所属的类来专门化”的想法.

nil,true和false都是对象(因此是带有方法的类的实例化).它们是1)相应类型的唯一居民并且是2)不可变对象的强制允许实现优化 – 并且实际上,这不是一个零吗?

没有专门化值的有用错误消息:x.class“just works”.

> > nil.foo
> => #<NoMethodError: undefined method `foo' for nil:NilClass>

我很高兴它说NilClass 原文链接:https://www.f2er.com/ruby/265477.html

猜你在找的Ruby相关文章