【问题标题】:Where is defined nil in Ruby在 Ruby 中定义 nil 的位置
【发布时间】:2015-02-20 11:43:12
【问题描述】:

我想知道在 Ruby MRI 编程语言中定义了 nil 对象。它看起来像一个常量,但与常量不同的是,它不是大写样式。

还有一个 NilClass,它是一个类。但是nil 是在哪里定义的?谢谢。

【问题讨论】:

    标签: ruby oop null


    【解决方案1】:

    keyword.rb文件中定义:

    一种特殊的“非对象”。 nil 实际上是一个对象(NilClass 的唯一实例),但意味着缺席和不确定性nilfalse 是 Ruby 中仅有的两个具有 Boolean falsehood 的对象(通俗地说,这会导致 if 条件失败)。

    nil 用作未初始化数组元素和哈希值的默认值(除非默认值被覆盖)

    来自 Ruby 官方 - Keywordskeyword_nil

    【讨论】:

      【解决方案2】:

      nil 是关键字,如@9​​87654322@、ifclassandorend 等。关键字在解析器中定义。

      【讨论】:

        猜你喜欢
        • 2020-01-03
        • 2012-04-09
        • 1970-01-01
        • 1970-01-01
        • 2017-08-04
        • 1970-01-01
        • 1970-01-01
        • 2011-11-01
        • 1970-01-01
        相关资源
        最近更新 更多