当我发现这一点时,我正在研究序列化值.Ruby有TrueClass
类和FalseClass
类,但没有Boolean
类.我想知道这是为什么.
我看到了使用Boolean
的一些优势;例如,字符串解析可以集中在它上面.
Ruby开发者比我聪明,所以肯定有很多我看不到的好理由.但现在在我看来是OneClass
和TwoClass
,而不是Fixnum
.
当我发现这一点时,我正在研究序列化值.Ruby有TrueClass
类和FalseClass
类,但没有Boolean
类.我想知道这是为什么.
我看到了使用Boolean
的一些优势;例如,字符串解析可以集中在它上面.
Ruby开发者比我聪明,所以肯定有很多我看不到的好理由.但现在在我看来是OneClass
和TwoClass
,而不是Fixnum
.
马茨本人似乎在2004年的mailing list message分考试中回答了这个问题.
他回答的简短版本是:"现在可以了,添加布尔值并没有任何好处.".
我个人不同意这一点;前面提到的"字符串解析"就是一个例子.另一个问题是,当您根据变量的类型(即yml解析器)对其应用不同的处理时,有一个"Boolean"类非常方便——它会删除一个"if".这看起来也更正确,但这是个人观点.