What's the difference between block, Proc and lambda
look look book
这几个概念我也一直搞不清楚......
http://ruby-china.org/topics/3585
元编程书中有专门讲述。抄写一段 ri
lambda { |...| block } -> a_proc
Equivalent to Proc.new, except the resulting Proc objects check the number of parameters passed when called.
就是说 lambda 会检查参数个数。
都是属于可调用对象,block 是匿名的,没法放在变量里传递,大概是这样。
#4 楼 @chenge 基本上差别都是 very subtle, 一般 block 用 iterator 较多,其他两个 Proc 和 lambda 区别很小http://www.tweetegy.com/2012/01/ruby-blocks-procs-and-lambdas/