ruby lambda和proc的区别

Python013

ruby lambda和proc的区别,第1张

Ruby中的block(lambda/proc),就是匿名函数,取自于函数式语言lisp,而这个匿名函数在Ruby中是一等公民。

实际上Ruby中每个方法在执行的时候,不管有没有传递匿名函数,在Ruby内部,都会自动检测有没有传递块,实际上,这个块,也就是匿名函数,就是Ruby中方法的隐形参数。

使用了Array对象的block方法,将ary中的每个元素平方一把。从例子中我们可以看到block使用起来很方便,想必传统的Java以及C编码,省略掉了冗余的循环,让你更加专注业务代码,这也是ruby的好处之一。