在 Ruby 中为单例对象添加别名



所以我并没有真正的实际目的,但是当我在客户端和服务器端代码的JavaScript和Ruby之间切换时,混淆了我的nil和null,并想"为什么不别名null到nil,反之亦然"然后忘记它(不是我真正会投入到项目中的东西), 但这甚至可能吗?

所以我在 nil 上尝试了别名和alias_method,并尝试绑定回 NilClass 无济于事。 是否可以像 Ruby 中的 nil 那样为单例对象添加别名?

编写一个"null"方法

不能为 nil 添加别名,因为它是 NilClass 的单一实例,而不是方法。您也无法复制它,因为它是单例。但是,您当然可以使用返回 nil 的自定义方法,这几乎可以为您提供大多数用例所期望的结果。

def null; nil; end
null.class
#=> NilClass
null == nil
#=> true
null === nil
#=> true
null.is_a? NilClass
#=> true
null.instance_of? NilClass
#=> true

最新更新