学无所长,一事无成
发布时间:2012-08-02 22:52:32
C.1 法术集数组参数把一组参数压入到一个数组中,perl 语言中也有类似用法。def my_method(*args) args.map {|arg| arg.reverse }endmy_method('abc' , 'xyz' , '123' ) # => ["cba", "zyx", "321"]环绕别名从一个重新定.........【阅读全文】
发布时间:2012-08-02 15:09:51
A.1 拟态方法puts “hello,world”这里的 puts 实际上是个方法,完整写法 puts(“hello,world”)如果加上上下文,就是 self.puts(“hello,world”) 或者 main.puts(“hello,world”)。由此可知 puts 多半是 Object 的一个实例方法。去掉括号的写法使得它像个关键字,同时也.........【阅读全文】
发布时间: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 的第一个参数可以是字符串,也可以是符号。剩余参数(以及代码块)会直接传递给调用的方法。 符号:符号是不可变的。字符.........【阅读全文】