Rubyの each の魅力がいまいちピンときてなかったけど、
最近javascriptのprototype.js いじっててようやく分かった。

p (1...101).
map{|v|v*v}.
delete_if{|v|v%100/10%3!=0}.
reverse.
join('-')

こんな感じに、配列に対する処理をパイプみたいに
継ぎ足していけるのは直感的でわかりやすい。
まぁ、この場合eachよりmapのほうが役立つけど。

pythonで同じことをやろうとすると、join(reversed(filter(map...
という風に、思考の順番と記述の順番が逆になってしまう。
そういうクラスを作れば、pythonでもRubyと似た記述が可能になるけど 、
Array型に最初から仕組みが組み込まれているRubyのほうがこの点は優れている。

あと、python の lambda 式は ruby のブロックや、javascript の無名関数
と比べると不自由を感じることがある。
高階関数に、処理をリテラルで記述する場合にちょっと不便。