无废话ROR-2
2010-01-22 15:34 风中独火 阅读(158) 评论(0) 编辑 收藏 举报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}