【问题标题】:Ruby: Why does nil.to_s return "", but nil.inspect returns "nil"Ruby:为什么 nil.to_s 返回“”,但 nil.inspect 返回“nil”
【发布时间】:2012-09-05 21:26:06
【问题描述】:

为什么nil.to_s返回"",而nil.inspect返回"nil"(显然.inspect使用.to_s方法)

【问题讨论】:

    标签: ruby null


    【解决方案1】:

    请参阅NilClass.inspect 上的文档。它声明它将返回"nil",并且不保证与to_s 等效。

    【讨论】:

    • 抱歉链接过时了,我是用手机回答的。
    【解决方案2】:

    "inspect" method of the Object class 应该返回对象的人类可读 版本。

    nil 的人类可读版本是“nil”而不是“”(这是字符串 "" 的人类可读版本)。
    这就是为什么nil.inspect 应该返回“nil”,而nil.to_s 返回“”,以便"a string" + nil 按照通常预期的方式返回"a string"(例如在其他语言中)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-11
      • 2021-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-12
      相关资源
      最近更新 更多