加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

为什么rubys public和private关键字/方法返回Object?

发布时间:2020-12-17 03:07:00 所属栏目:百科 来源:网络整理
导读:这个片段: a = privatep ap a.class 给我: ObjectClass 我不确定私有和公共是否是Ruby中的关键字或方法,但是,为什么它们返回Object(我的意思是类)?这种奇怪的行为有历史或实际原因吗? 我用Ruby 2.1,Rubinius 2.2.6和JRuby 1.7.12测试了这个. 解决方法 这
这个片段:

a = private
p a
p a.class

给我:

Object
Class

我不确定私有和公共是否是Ruby中的关键字或方法,但是,为什么它们返回Object(我的意思是类)?这种奇怪的行为有历史或实际原因吗?

我用Ruby 2.1,Rubinius 2.2.6和JRuby 1.7.12测试了这个.

解决方法

这是因为它们不是关键字,而是模块上定义的方法: http://www.ruby-doc.org/core-2.1.2/Module.html#method-i-private.它们返回一个接收调用的模块,如果在应用程序的顶层调用它,则此接收器是Object类.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读