block

2017-10-23  本文已影响0人  wayoona

block:就是两种方法的叠加, 本质还是执行def...end方法,只不过里面加入了块方法而已,可以把块看成带method的参数。

一、块的两种表示方法:

1、[1,2,3].each { |a| puts a*2}                          {  }之间的部分,表示块

2、[1,2,3].each do |a|                                        do   end之间的部分,表示块

           puts a*2

      end

二、块的使用方法:

def  take_block(x, &block)                       &表示引入块,block是块名称

       a = block.call(x)                                      这里call是块的调用方法     

       b = a*2                                                   

 end

使用:

take_block(1)  do | k |                                

    k + 1

end

或者 take_block(1) { |k| k+1}              将参数1和块{ |k| k+1},代入到take_block中去

结果是:4

上一篇下一篇

猜你喜欢

热点阅读