5

所以我开始研究 ruby​​,很多东西看起来都不错,但我被隐式的 return 语句吓到了。我理解默认情况下让所有内容都返回 self 或 nil 但不是语句的最后一个值。

对我来说,它看起来非常脆弱(特别是),如果您正在使用不打算返回某些东西的方法(特别是改变状态/破坏性方法的函数!),其他人可能最终依赖于不重要的返回达到方法的目的,并且有很大的改变机会。

隐式返回有什么意义?有没有办法让一些事情变得更简单?

总是有回报以防止隐性回报被认为是一种好的做法吗?

我是不是很担心这个?

PS 当人们想要从一个方法返回某个东西时,他们是否经常使用隐式返回,这不是让你组中的其他人更容易破坏彼此的代码吗?当然,记录一切并给出你可能会说的有意义的名字,但人们在现实生活中并不总是这样做。

4

3 回答 3

5

确保不要在puts方法或块的末尾添加语句,除非您想返回 nil。

于 2010-06-11T14:13:06.700 回答
3

你多虑了。在我大约 5 年的 ruby​​ 实践中,我没有遇到过错误依赖某些返回值的案例。

它使方法看起来非常不言自明并提高了可读性。我认为这很自然。

于 2010-06-11T07:44:18.383 回答
0

好问题。

这可能是应该用 TLC 处理的红宝石特性之一。嗯,TATFT .. 我的意思是,强大的测试 :)

此外,为您的方法提供 RDocs 也是一个很好的激励,这些 RDocs 将清楚地说明方法返回的内容。

于 2010-06-11T07:47:00.000 回答