温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Ruby 反射和内省

发布时间:2020-05-29 22:36:49 来源:网络 阅读:1198 作者:yangbin1103 栏目:编程语言

反射(Reflection),何为反射,反射就是把自己的内部成员(属性 方法),映射成为响应的类对象。 

   一个Person类对象tom,他们可以利用tom拿到当前的类,可以拿到tom的内部成员像是年龄 出生日期 家庭住址这些对象的类

内省(Inspection),何为内省,看英文名字inspection,意思为检查,反省的意思,所以顾名思义,就是可以检测自己属于什么类,自己有没有某个方法,自己的父类是谁。

◆:一个ruby对象o 的内省

1:得到自己的object id:  o.object_id

2:检测自己的类型 inspect type:  [].class == Array

3:检测自己的类:inspect class:  o.class == Foo   o.instance_of?(Foo)

4:检测类的继承:inspect class hierarchy:  o.class.superclass   o.class.included_modules

5:检测自己是否拥有某个方法:  o.respond_to?("reverse")

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI