【Perl,PHP】LLバトルロワイヤル5【Ruby,Python】at TECH
【Perl,PHP】LLバトルロワイヤル5【Ruby,Python】 - 暇つぶし2ch945:デフォルトの名無しさん
09/05/25 09:19:54
>>940
その「繋ぎ感」の気持ちよさは認めるけど、読み書きしやすさとは違うんじゃないかな。
長い処理は適度に切って変数を使うPython流も、長くなりそうで実際に書いてみると
大して長くならないし、あんまり繋げすぎるよりも読みやすい。

a = [v*v for v in range(1,101) if v%100/10%3 == 0]
print '-'.join(reversed(a))

PythonもML上でRubyのブロック記法が提案されたけど、ブロック記法の利点を示す
例として挙げたサンプルコードがことごとく同等にスマートなPythonicなコードで
反論されて、Pythonにはブロック記法いらないという結論になった経緯がある。

lambda もそうだね。関数内でローカル関数が定義できて、Pythonの関数は
「関数専用の名前空間」なんてキモい仕様になってなくて普通定義するだけで
変数に関数が代入されるから、mapにもfilterにも定義した関数を渡せば良い。
lambda を使う大抵の場面はリスト内包で代用可能。 Python3 からは辞書も
集合も内包表記が使えるから、本気で lambda の有効な場面が無くなる。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch