2009-06-01から1ヶ月間の記事一覧

Python での join() は StringBuffer の代替と考えると、str.join(list) が自然なのかも

ここまで書いて思ったんだけど、StringBuffer 相当の機能がない Python にとっては、join がその代替なのかもしれない。つまりだな、Python の str.join(list) は Ruby の Array#join(str) 相当ではなくて、String#<< 相当なんじゃないか、という新しい仮説…

"sep".join(list) が気持ち悪い理由

list が必須で separator はオプションなんだから、list が receiver になるほうがどう考えても自然だろう。省略可能な separator が receiver にくるほうが不自然だ。

Python の unittest では assertRaises が Exception を返してくれない

ちなみに Python 付属の unittest では assertRaises の定義は以下の通り。見ればわかるけど、exception を返してくれない。 ## assertRails は failUnlessRaises の alias def failUnlessRaises(self, excClass, callableObj, *args, **kwargs): try: calla…

Rubyの例外クラス設計

具体的には、テストです *2 。例えば foo(1, 2) で wrong number of arguments が投げられることをテストしたいとします。以下のテストだと、wrong number of arguments 以外の ArgumentError が投げられる場合でも合格になってしまいます。 assert_raise(Ar…

Web アプリのボトルネックはテンプレートシステムにあり

Ruby のネタがないので Python でお茶をにごす。Python の速度を 5 倍速くするという目標を掲げている unladen-swallow というプロジェクトがあるんだけど (日本語はこちら)、その中に次のような一節があった。 Unladen Swallow's benchmark suite is focuse…

裏番組が強力すぎ

RubyKaigi2009 のタイムテーブルが発表されたんだけど。。。裏番組、強すぎだろ。「ドリフ」と「ひょうきん族」が同じ時間にやってた時代のTVプロデューサの心境だわ。 調子こいて「1時間!」とか書いたら、こんな枠に allocate されてもうた。アホすぎる。 …