我很难想象procs和lambdas在web应用程序中的实际用途。有没有人在你的代码中有一个他们有用的例子?

最佳答案

为什么特别是在webapps中你是说Ruby on Rails框架吗?
当您希望匿名存储代码片段时,procs和lambdas非常有用。proc和lambdas与方法非常相似,只是它们没有名称。在ActiveRecord/Rails中,一个很好的例子可以说明这一点:

// methods are named
validates_presence_of :foo, :if => :active?

// procs aren't
validates_presence_of :foo, :if => proc {|r| do_stuff }

一般来说,procs用于回调和钩子,这样您就不必编写命名方法并引用它们,将有问题的代码直接放入选项散列等。
你可能会发现this article很有用。

09-27 23:02