block

作者: wayoona | 来源:发表于2017-10-23 15:32 被阅读0次

    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

    相关文章

      网友评论

          本文标题:block

          本文链接:https://www.haomeiwen.com/subject/cjoouxtx.html