トップ «前の日記(2003-08-25) 最新 次の日記(2003-08-27)» 月表示 編集

日々の流転


2003-08-26 [長年日記]

λ. 東方妖々夢

霊夢と咲夜はなんとかクリア出来たんだが、魔理沙がなかなかクリア出来ない。あ、ノーマルの話ね。Extraとか???とかの話じゃないよ。

Tags: 東方

λ. enum/flags class for Ruby-GNOME2

Ruby-GNOME2の列挙型とフラグ型の扱いを変更して、整数ではなく、固有のクラスのインスタンスとして扱うことにした(変更作業はまだ全部は終わってないけど)。利点は

  • 分かりやすさ。例えば Gtk::Label#justify が整数の0を返しても意味は分かりにくいけど、返ってくるのが固有のクラスのインスタンスならば、inspectすれば誰にでも意味が分かる。(今はinspectのフォーマットは「#<Gtk::Justification left>」みたいな感じ。フォーマットは変更するかも)
  • 型安全。「Gtk::Label.new.justify = Gtk::Window::TOPLEVEL」とかはTypeErrorになる。

といったところ。

ただ、flagsのクラスのAPIでいくつか悩んでいる。 悩みの1つはフラグをテストするAPIで、 以下の3つを実験的にすべて実装してあるのだけど、 どれを推奨するのが良いかなぁ。

  • 「flags & Gtk::Dialog::MODAL != 0」 (これまで通り。でも「!= 0」というのはやはり野暮ったいなぁ)
  • 「flags >= Gtk::Dialog::MODAL」 (ビットの集合として考えた時の包含関係で比較演算子を定義してあるので、 最初のコードとは若干意味が異なるけど、これでもテスト出来る)
  • 「flags.modal?」(これが一番Rubyっぽい?)
Tags: ruby

λ. 最近読んだ漫画

『GUNSLINGER GIRL 1』
相田 裕 [著]

λ. Topology Via Logic 進捗

滞ってる。ようやくScott位相がでてくるあたりまでは進んだ。