无废话ROR2

A.Block & Iterators

1.Block

在花括号或者do...end中的代码.

约定:单行:花括号;多行:do...end

i:关联: 调用方法的时候放在方法结尾,如果方法有参数,block 放到所有参数以后.

方法内利用 yield 关键字调用关联的block

ex:

def method

puts "begin"

yield

yield

puts "end"

end

method {puts "this is block"}

结果:

begin

this is block

this is block

end

实现回调结果.

ii:关联时传递参数

call: yield ("param1value","param2value")

block:{|param1,param2| ……}

2.Iterators 迭代器

从collection中连续返回方法,利用block实现

array=%w[A B C D]

array.each {|x| puts x}

这样可以产生很多方便的应用模式: ('a'...'x').each {|x| puts x}

原文地址:https://www.cnblogs.com/fireinwind/p/1654235.html