当我发现这一点时,我正在研究序列化值.Ruby有TrueClass类和FalseClass类,但没有Boolean类.我想知道这是为什么.

我看到了使用Boolean的一些优势;例如,字符串解析可以集中在它上面.

Ruby开发者比我聪明,所以肯定有很多我看不到的好理由.但现在在我看来是OneClassTwoClass,而不是Fixnum.

推荐答案

马茨本人似乎在2004年的mailing list message分考试中回答了这个问题.

他回答的简短版本是:"现在可以了,添加布尔值并没有任何好处.".

我个人不同意这一点;前面提到的"字符串解析"就是一个例子.另一个问题是,当您根据变量的类型(即yml解析器)对其应用不同的处理时,有一个"Boolean"类非常方便——它会删除一个"if".这看起来也更正确,但这是个人观点.

Ruby相关问答推荐

使用map DO使用嵌套数组重构对象数组

清理 jruby 中输入数据的编码错误

用函数组合枚举器的Ruby方法

each_with_object 应该如何工作?

减少哈希值

我在哪里可以找到积极开发的 Ruby lint 工具?

在 RSpec-2.11 中使用隐含的 `subject` 和 `expect`

在 Ruby 中将数组转换为索引哈希

判断字符串是否包含Ruby数组中的任何子字符串

为什么整数除法在许多脚本语言中舍入?

对于基于 GitHub 的 gem,强制Bundle 安装使用 https:// 而不是 git://

在 Ruby 中重写 to_s 方法不好吗?

Ruby注入初始为哈希

如何在 RSpec 2 中自动加载 spec_helper.rb

是否可以使用 Ruby 读取文件的修改日期?

在 Ruby 中, coerce() 是如何工作的?

判断ruby中的字符长度

Ruby 将 CSV 文件读取为 UTF-8 和/或将 ASCII-8Bit 编码转换为 UTF-8

不能在windows上安装thin

在 Ruby 中获取用户主目录的跨平台方法?