开发者

Whats up with implicit return values in Ruby?

So I've started looking at ruby, and a lot of things look nice but I'm quite put off by implicit return statements. I understand making everything return self or nil by default but not the last value of a statement.

To me it looks horribly fragile (especially) if you are working with a method that doesn't plan to return something (especially a function which changes state/destructive method !) , other people may end up relying on a return that is开发者_StackOverflow not important to the purpose of the method and has a decent chance of changing.

What's the point of implicit return? Is there a way it makes some things way simpler?

Is it considered good practice to always have a return to prevent implicit returns?

Am I worrying to much about this?

P.S. Do people often use implicit return when they mean to return a certain thing from a method, doesn't this make it easier for other people in your group to break each others code? Sure , document everything and give meaningful names you might say, but people don't always do that in real life.


Make sure not to add puts statements to the end of a method or a block unless you want to return nil.


You're worrying too much. In my ~5yrs ruby practice I have'nt had a case when I misrelied on some return value.

And it makes methods to look really self-explaining and improves readability. I think that's very natural.


Good question.

This is probably one of those ruby features that should be treated with TLC.. eh, TATFT.. I mean, strong testing :)

Also it's a good incentive for you to supply RDocs for your methods that will state clearly what the methods return.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜