タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

PythonとRubyとprogrammingに関するraimon49のブックマーク (44)

  • ','.join() がなぜキモイのか - methaneのブログ

    Ruby厨とPython厨が平行線の議論をしていたので、まとめてみる。 オブジェクト指向的にキモイ? str.join() 処理での登場人物は2人いる。連結文字(区切り文字=separator)、連結される文字列の列だ。 この二つを比べると、「連結される文字列の列」が情報的に重要な場合がほとんどだろう。それを元に文字列の列が主役で連結文字はオマケと考えると、「joinが主役でない連結文字側のメソッドになる何てキモチワルイ」となる。 でも、別の視点で「連結する側とされる側」というように分類すると、「区切り文字 join 連結される文字」が素直な能動態で、「連結される文字列 (is) join(ed by) 連結される文字」だと無理やりな受動態になるので、''.join() の方が素直だ。 Rubyの場合は「配列が要素をjoinする」と配列が主体となっているので、後者の考え方はしにくい。なので

    ','.join() がなぜキモイのか - methaneのブログ
    raimon49
    raimon49 2010/05/09
    >Rubyの Array.joinが文字列専門になるのは「文字列はよく使うから特別」という発想だけど、Pythonにとっては「明確なメリットが無い限り特別を持ち込むのはキモイ」
  • Pythonのselfはなぜ必要かをJavaScriptのthisで考える - なんたらノート第三期ベータ

    あなたがもしPythonを作る前のGuidoに憑依して - ネットリサーチ - livedoor ニュース が面白すぎた。2位と3位の すべてを式にする lambdaの構文を変える は、同じ願いを別の言い方でしてるような気がした。lambdaにifとforを入れたいをかなえるには、ifとforを式にするか、lambdaに文が入るようにするか、どちらか一方だし。 それはさておき、このエントリの題は、「Pythonにはselfが要る」というGuidoさんの主張について、具体例で理解することです。「こうだったらいいのにな」逆の視点、もしselfがないとどう困るのか、を考えましょう。 そこで、Pythonとは別の母親から産まれた双子、JavaScriptを例に、thisについて考えてみます。Pythonに対して、JavaScriptは「メソッド定義の第一引数に余分なアレがないこと」が特徴でしたね

    Pythonのselfはなぜ必要かをJavaScriptのthisで考える - なんたらノート第三期ベータ
    raimon49
    raimon49 2009/12/06
    >JavaScriptはself書くのが要らない代わりに、関数型な特徴を使うと、いちいちFunctionのcall(this, args...)メソッドが出てきます。本質的に要るものを1個減らすと、意図してないところにしわが1個増えるんですね。明解で端的な
  • Algorithms with Python

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    raimon49
    raimon49 2009/04/28
    Algorithms with Python
  • いやなブログ: 配列操作の比較表: Ruby, Python, JavaScript, Perl, C++

    配列操作の比較表: Ruby, Python, JavaScript, Perl, C++ プログラムを書いていると、他のプログラミング言語の記憶とごっちゃになって、「配列の後ろに要素を追加するのは push だっけ、 append だっけ」などと混乱することがあります。特に Ruby, Python, JavaScript はコードの書き方が似ているので、この問題が起きがちです。 そこで、備忘録として、 Ruby, Python, JavaScript, Perl, C++ の配列操作の比較表を作りました。一番慣れている Ruby を基準にしています。間違いなどがあったらご指摘いただけると助かります。他の言語のもあるといいなあ。 Ruby (Array) Python (list) JavaScript (Array) Perl (@) C++ (std::vector)