ruby-on-rails – 在Ruby中使用什么是|| = begin … end block?
发布时间:2020-12-17 04:21:15 所属栏目:百科 来源:网络整理
导读:这两个代码片段有什么区别: def config @config ||= begin if config_exists? @config = return some value else {} end end end 和 def config @config ||= method end def method if config_exists? return some value else {} end end 我对“开始…结束
这两个代码片段有什么区别:
def config @config ||= begin if config_exists? @config = return some value else {} end end end 和 def config @config ||= method end def method if config_exists? return some value else {} end end 我对“开始…结束”块感到困惑.它对输出有什么影响吗?如果没有,那么在这里使用begin … end块是什么? 解决方法
首先,您需要知道定义的方法本身包含begin … end块的功能.
在异常处理的上下文中,def method_name … end在功能上等同于begin … end.例如,两者都可以包括救援声明. 您共享的两个代码块实际上是相同的,并且在一个代码中没有任何好处……除非您的方法在多个地方需要.在这种情况下,通过将逻辑放入单个方法并从多个其他位置调用它来干掉代码. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |