ruby – 如何重述if语句
发布时间:2020-12-17 01:47:15 所属栏目:百科 来源:网络整理
导读:我有这个嵌套的if语句,我无法弄清楚如何重构它…它非常简单,但我无法得到正确的想法,希望有人可以提供帮助. 首先,我有一个嵌套的if语句(坏): unless record.valid? if condition_1 action_1 elsif condition_2 action_2 elsif condition_3 action_3 endend
我有这个嵌套的if语句,我无法弄清楚如何重构它…它非常简单,但我无法得到正确的想法,希望有人可以提供帮助.
首先,我有一个嵌套的if语句(坏): unless record.valid? if condition_1 action_1 elsif condition_2 action_2 elsif condition_3 action_3 end end 然后我尝试了这个,但这看起来没有任何好转(如果没有任何内部的if语句也是坏的): if record.valid? # do nothing elsif condition_1 action_1 elsif condition_2 action_2 elsif condition_3 action_3 end 有没有人知道如何重构这些语句,以便它看起来更好? 更新:解决方案(基于@thomasfedb和@undur_gongor) 我最终做的只是: return if record.valid? if condition_1 action_1 elsif condition_2 action_2 elsif condition_3 action_3 end 解决方法
如果您利用Ruby的各种if / unless语法和case语句,您可能会发现它更整洁.如果您要使用方法进行换行,您也可以利用返回.
def check_record(record) return unless record.valid? case record.some_property when 1 do_something when 2 do_whatever when 3 do_a_dance end end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |