【发布时间】:2011-06-03 20:07:34
【问题描述】:
我发现,在我看到的所有示例(包括 rails 文档)中,验证方法的 :if 选项都使用 Proc.new 而不是 lambda,例如
class Foo < ActiveRecord::Base
validates_presence_of :name, :if => Proc.new{|f| .... } # why not lambda here?
end
这有什么原因吗? 据我所知,lambda
- 对参数更严格。
- lambda 块中的 return 语句也从块中返回,而不是从调用函数中返回。
对于 :if 上面提到的选项来说,两者似乎都是可取的行为,我有什么遗漏吗?
【问题讨论】:
标签: ruby-on-rails lambda