Ruby Block, Proc 和 Lambda 的区别

edgar_wang_cn · August 09, 2013 · Last by Justin replied at August 12, 2013 · 7334 hits

http://awaxman11.github.io/blog/2013/08/05/what-is-the-difference-between-a-block/ 这里用代码详细说明了 Block, Proc 和 Lambda 的区别,主要是:

  • Proc 和 Lambda 都是对象,而 Block 不是
  • 参数列表中最多只能有一个 Block,但是可以有多个 Proc 或 Lambda
  • Lambda 对参数的检查很严格,而 Proc 则比较宽松
  • Proc 和 Lambda 中return关键字的行为是不同的

不错。

请看这篇帖子里我的回复,正好有解释到 block,proc,lambda。 http://ruby-china.org/topics/13157 #86 楼

推荐《ruby 元编程》

這篇博文质量不错

《ruby 元编程》讲得很细。

You need to Sign in before reply, if you don't have an account, please Sign up first.