Monthly Archive for March, 2009

ditz on Ruby 1.9 つづき

issue の add ができないことに気づいたので、 quick fix しておきました。気づかなかったとはうかつ…

lambda

以下、仕様もドキュメントも参照せずに、観測した現象だけをもとに書いてます。

Ruby 1.9 からは、lambda { ... } でつくった ラムダを call するとき引数の個数をチェックするようになったようですね。対して、 Proc.new { ... } したものを call する場合は引数の個数を見ていない様子。Ruby 1.8.6 では、どちらもチェックされていませんね。 ditz add してエラーになる原因は、この違いにあるようでした。

ということで、 s/lambda/Proc/ してしのいだという話でした。

SQLite は型なし

iPhone アプリをつくっていて、日付のデータを SQLite なデータベースに格納しようとおもい、どうやって INSERT でデータをカラムにバインドするのかなーと C API を見ていたんだけれど、どうも bind_int / bind_text くらいしかない。

どうしたもんかなーと Twitter でつぶやいていたら、 SQLite には型がないよ と教えてもらいました。MJSK とばかりにドキュメントを読んでいたら、たしかに SQLite relaxes this restriction by using manifest typing とあります。 で、日付のデータを入れたいときは INTEGER か TEXT をつかうこと、と。 なんか C の (void *) とか Objective-C の id を連想しますね。

Web+DB なひとには常識なのかもしれないけれど、軽くカルチャーショックを受けたので書き残しておく次第。

Ditz on Ruby 1.9

Ditz という、ナイスな BTS があります。この Ditz を Ruby 1.9 で動くようにしてみました。本家に merge request 送付済み。

mootoh-clone on Gitorious

やったことはそんなになくて、以下の3つです。

これで Ruby 1.9 しか入っていないマシンでもぞんぶんにローカルバグ管理ができて、開発効率ウハウハですね。