我今天一直在重构一些代码,并且通过大量使用return
使我的方法更加整洁。我遇到的一件事是,在示例代码,博客文章等中我经常看到返回,这让我觉得我做错了。
在Ruby中使用return不是惯用语吗?我是否应该只是让我的方法通过if
/ else
,case
/ when
语句返回最终值,而不是通过{{1}提前中断它们}?
答案 0 :(得分:4)
Ruby中的核心是只在需要时使用return 。如果提前终止返回会使您的方法更清晰,那就去做吧。换句话说:
<强> DO:强>
def method(arg)
if(arg == 0) #Special case
return 42
end
arg + 46
end
<强>不强>
def method(arg)
return arg + 46
end
<强> BEST:强>
def method(arg)
if(arg == 0)
42
else
arg + 46
end
end
但是,仅在不必要的情况下仅阻止返回。