【Perl,PHP】LLバトルロワイヤル5【Ruby,Python】
レス数が900を超えています。1000を超えると表示できなくなるよ。
0940デフォルトの名無しさん
2009/05/25(月) 03:06:07最近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 の無名関数
と比べると不自由を感じることがある。
高階関数に、処理をリテラルで記述する場合にちょっと不便。
レス数が900を超えています。1000を超えると表示できなくなるよ。