Diary?

2008-01-17
Thu

(19:02)

今朝出勤しようとしたら、自転車のサドルに雪が積もっていてびっくり。どーりで寒かったわけだ。

それはともかく、最近プレイするゲームがないなーと思って、何となく久しぶりに世界樹の迷宮を立ち上げたら、「ダークハンター」「パラディン」「バード」「メディック」「アルケミスト」という面子でフォレスト・セルに挑む前の段階でセーブされてた。そういや、最初に組んだパーティ編成 & 医術防御無しでのフォレスト・セル撃破をやろうとして、面倒になっちゃったんで放置してたんだ。というわけで、今更ながら最後の積み残しをやってみた。

結果からいうと、数回試行錯誤したのち 27 ターンほどで割とあっさり撃破。途中二回ほどあったランダム行動を山勘の三色ガードで凌げたのが最大の勝因だったかなあ。もちろん戦略は例の王の威厳誘発パターンで、序盤の数ターンで少しだけダメージレースをしかけるというもので、要するに前にやったのと同じパターン。流石に一度ネタが割れているから勝てて当然か。

(20:21)

deltatools にバグがあったのでバグフィックスリリース。境界条件を一個見逃していた。一つ前のバージョンでは末尾の数個の要素が一致していて、かつそれまでにいくつかの要素が異なっているデータへの差分が上手く生成されなかった。これはちょっとアレなポカだなあ (コードを比較すれば大体どこでヘマってたかわかるよ)。

で、それとは関係ないんだけど、今の deltatools の仕様はイケてないかなと思ってる。実は Python 標準ライブラリの difflib に多少は使用感を合わせようとして今のデザインにしたんだけど、でもこれだと unified_diff の戻り値の型が文字列のイテレータになってしまって、これはわかりにくいかもしれない。本来ならチャンク/行に対する外部イテレータを返すことのできるオブジェクトを返すべきなんじゃないか?

こんなことを考えるようになったのはマージ関数の部分に手を付けたのが切っ掛けで、果たしてマージ関数に渡すのはどんなデータが適切かという問題が出てきた。最初は差分データの文字列と元の文字列を渡してもらおうと思ったんだけど、何となく差分のフォーマット判断のロジックを書いていておかしいんじゃないかと思えてきて、それじゃあ何か別の型のデータを受け取ればどうだということになったわけ。

というわけで次のリリースでは早速その方向性でいこうかと思っているんだけど、それで迷惑する人はいないかなあ。今んところ三人ぐらいしかダウンロードしていってないんだけど、実際に使ってんのかな。もしもマジに使われてたら、互換性のために今の関数を残しといてもいいんだけど。まあ、ドカッと変えて文句が付いたら復活でもいいか。

追記: よくよく考えりゃ、 Diff オブジェクトに __iter__ メソッド持たせてそれ自身が差分情報の行単位のイテレータになるようにすれば今の仕様と互換性を保てるな。なによりこれなら今のテストコードを生かせる。

(20:58)

バグで一個思い出した。今のプロジェクトで最近、俺の書いた JavaScript にバグが見つかった。その内容はうっかり変数を大域変数にしてしまっていて (var 付け忘れ)、それが画面内のとある要素の name 属性と名前がバッティングしていて、そして IE の多分独自仕様である「name 属性を持つ要素はその属性名の変数としてアクセス可能」によって、まったくもって予期せぬ動作をしていたというわけだ。

もうね、こういうのがある度に JavaScript というか ECMAScript の言語仕様を最初にひり出した奴を叩っ殺したくなるね。もっとも ECMAScript は JavaScript と JScript (Microsoft が世界を分断するために作った言語。多分) の共通部分を抜き出して標準化しようとして作られたはずなので、実際のところ本当の火種はそこからさらに遡って調べないといけないわけだが。

そういや前に IE は JavaScript 1.3 までとか書いてたけど、ありゃ間違いだ。正しくは JavaScript 1.5 互換の実装である JScript 5.6 (IE 7 は 5.7) まで対応だ。まあ、誰も突っ込んでこなかったということは、そこまで致命的な差異が JavaScript 1.3 と 1.5 ではないのかなあ。面倒なんであんまり調べてないけどさ。

(21:44)

寒すぎ。暖房付けてるのに手がかじかむよ。いや、これは今の部屋の構造に欠陥があるとみなすべきか。やっぱロフト付きの部屋だと冷暖房の効率的には嬉しくないよなあ。引っ越すか。次は風呂とトイレが別で、ロフト無しで今と同程度の広さのところがいいんだけど、そうなると家賃がなあ。快速電車を諦めれば、別にあんつこたぁねえんだけどよ。

Creative Commons
この怪文書はクリエイティブ・コモンズ・ライセンスの元でライセンスされています。引用した文章など Kuwata Chikara に著作権のないものについては、それらの著作権保持者に帰属します。