Blocks and lambdas behave differently w.r.t. flow operators, because blocks 
are to be used in loop-like constructs while lambdas are real functions

For instance, you can implement Enumerable#find using

module Enumerable
	def find
		self.each { |x|
			return x if yield(x)
		}
	end
end

But you can't use a lambda in the same way. IMO you would have to use 
throw/catch constructs. I prefer the return way but that's a matter of 
taste.
-- 
Sylvain