Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You clearly didn't bother to read beyond the 'dumb' example.


And the predicted language riot has begun.

Edit: I should probably add some content before I get (rightfully) downvoted into oblivion:

The latter example is a pure noop. Instead of computing some values using local variables and returning a hash composed of them as the last expression in the block, it does a dance with tap (extra syntax!) and scopes all the variables to the tapped object (extra syntax) instead of the default lexical scope.

All I can see is that tap adds complexity. At least the first example simplified things (albeit not as well as alternative syntaxes from other languages).


That's not the case at all. I was asking how you do this with dict comprehensions:

http://pastie.org/573042

I'm pretty sure the answer is "you don't", unless it requires setting a variable explicitly and returning it (same as in Ruby).

Since your last comment didn't address that at all, I literally meant you didn't read the whole post, not that I had some secret magic up my sleeve.


Yep, and that's what most of the comments on the blog are saying, and I am coming around to agree with them. To put this in context, I am discussing new Ruby 1.9 language features in Ruby 1.9, and how tap can be used to do away with a 3rd party Rails feature (returning).

Whether returning is useful in the first case is a whole other can of worms, and while I still sort of like the aesthetics of it, the technical points people are making in the comments are totally sound, and I might avoid it for that reason.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: