def doubleplus(x,y,&b) c=x+y while (c>1) b.call(2*c) #块参数通过call执行块中的内容 c=c-1 end end doubleplus(4,2){|c| puts "c:is #{c}" #我们在这里调用这个方法,并给他传递一个块参数 }在随后的章节中我们会降到Proc对象,如果是Proc对象的话参数的&符号就可以省略了,因为这是时他是一个对象:
def doubleplus(x,y,b) c=x+y while (c>1) b.call(2*c)#Proc对象的call方法 c=c-1 end end b=Proc.new{|x| puts x} #声明一个Proc对象变量 doubleplus(4,2,b)
No comments:
Post a Comment