ruby-on-rails – 在Rails模型验证中使用哪个更好:Proc还是lamb
发布时间:2020-12-17 03:50:45 所属栏目:百科 来源:网络整理
导读:我知道proc和lambda之间的区别.哪个更适合根据指南在Rails模型验证中使用:Proc或lambda? PROC: 与块类似的行为. 可以存储在变量中并移动. 参数数量没有问题. 从proc返回将退出调用它的方法. LAMBDA: 与Proc相同,但更接近方法. 严格关于它得到的论点,它需
我知道proc和lambda之间的区别.哪个更适合根据指南在Rails模型验证中使用:Proc或lambda?
PROC: >与块类似的行为. LAMBDA: >与Proc相同,但更接近方法. 但我还没有看到它产生影响的验证: validates :name,present: true,if: -> { assotiation.present? } validates :name,if: proc { |c| c.assotiation.present? } 我检查了rubocop并没有找到任何关于它的建议.你知道ruby / rails风格指南,rubocop或其他东西哪个更好? 解决方法
我能想到的唯一区别是可以使用λs的早期回报.也就是说,前者会愉快地验证,而后者会引发LocalJumpError:
validates :name,if: -> { return false unless assotiation; assotiation.present? } validates :name,if: proc { return false unless assotiation; assotiation.present? } 另外,我使用以下经验法则:严格要比宽敞要好.因此,除非你绝对明确需要一个触发器,否则λ是更好的工具,可以随处使用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |