学无所长,一事无成
发布时间:2012-07-31 10:36:08
前言1、定义类实际上是在运行一段普通的代码2、本章关注:类宏、环绕别名、单间类 4.1 类定义揭秘1、可以在类定义中加入任何代码,因为我们实际上是在运行类定义。跟方法和块一样,类定义也会返回最后一条语句的值。2、在类定义中,类本身充当了当前对象 self 的角色。当前类1、无.........【阅读全文】
发布时间:2012-07-27 00:18:51
通过 Kernel#block_given?() 来询问当前方法调用是否包含块def a_method return yield if block_given? ’no block’enda_menthod # => ‘no block’a_method {“here’s a block”}.........【阅读全文】
发布时间:2012-07-13 18:19:45
2.2 动态方法 p40通过 send 向接收者发送消息,如:obj.my_method(3) #等价于obj.send(:my_method,3)send 的第一个参数可以是字符串,也可以是符号。剩余参数(以及代码块)会直接传递给调用的方法。 符号:符号是不可变的。字符.........【阅读全文】
发布时间:2012-07-11 00:20:55
1.2 打开类技术类可以直接用 class 打开,因此你可以任意往现有类中添加方法(注意有可能覆盖同名方法),当然这不是一种好的风格,但你有这种能力,在某些情况下你可以获得特殊的效果。class String def to_alphanumeric &.........【阅读全文】