博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ruby元编程小结(五)
阅读量:6935 次
发布时间:2019-06-27

本文共 709 字,大约阅读时间需要 2 分钟。

hot3.png

Ruby元编程小结(五)单件方法允许给单个对象增加一个方法。singleton methods# test.rbstr = "My name is caoqing."def str.title?    self.upcase == selfendputs str.title?puts str.methods.grep(/^title?/)puts str.singleton_methodsresult =>falsetitle?title?类方法的本质,类是对象,类名是常量。在类上调用方法和对象调用方法一样:obj.my_methodCla.class_methodDuck Typing:对象能不能响应方法,可以是普通方法或者单件方法。类方法的实质就是他们是类的一个单件方法。def obj.method    # method bodyendobj可以是对象引用,常量类名或self。类宏(Class Macro)Ruby对象没有属性,可以使用拟态方法定义属性。Module#attr_*()方法中的一员来定义访问器。类宏不是关键字而是方法。Eigenclass单件方法按照常规的方法查找在祖先链无法找到保存的地方,obj是对象不能保存,也不能存在于class内,否则所有的实例都可以共享这个方法。对象拥有一个特有的隐藏类,称为该对象的eigenclass。进入eigenclass作用域:class << obj    codeend如果想获取eigenclass的引用,则可以在离开该作用域时返回self:

转载于:https://my.oschina.net/u/1449160/blog/266239

你可能感兴趣的文章
计数问题
查看>>
mac pro下安装gdb和delve调试器
查看>>
mysql性能优化之sql语句优化最强合集
查看>>
php的引用变量与销毁机制
查看>>
我的友情链接
查看>>
用dmidecode - 查看硬件信息
查看>>
我的友情链接
查看>>
Linux挂载NTFS分区方法
查看>>
SEO基础知识8大精华文章之第三篇 SEO的历史(连载)
查看>>
通过ssh隧道连接
查看>>
shell 批量添加用户健壮版
查看>>
mysql主从状态异常解决办法
查看>>
java ASM 分析类
查看>>
java抽象类
查看>>
MapReduce: Simplified Data Processing on Large ...
查看>>
cd 命令
查看>>
Oracle数据库进程
查看>>
我的友情链接
查看>>
linux vsftp的配置
查看>>
Scapy脚本执行出现警告WARNING解决办法
查看>>