2001-06-24 [長年日記]
λ. 今日も、起きたのは3時半。はぁ。
λ. Module#const_missing
method_missing同様にconst_missingというメソッドを定義できるようにすれば、drbでリモートから定数を普通に参照できて便利だと思うのだが…
λ. Gimp-Ruby
Win32API拡張ライブラリのように、引数や返り値の情報をオブジェクトに封入してみたら、gimp_procedural_db_proc_info()の呼び出しも一か所になったし、幾らかシンプルになって良い感じだ。欠点は、他の部分のコードが今のままだと、PDB::Procedureオブジェクトを量産して、ガベージコレクタを覿面に刺激しそうな事くらい。でも、オブジェクトにしたことでキャッシングが容易になったので、ちゃんとキャッシュすれば、ガベージコレクタを刺激する事もないし、PDBとのやりとりも減るので、良いことずくめ。
さて、どうやってキャッシュするかな。名前をキーにしたハッシュにfetchのブロックでPDB::ProcedureオブジェクトへのWeakRefを突っ込んでおけば良いのだけど、死んだWeakRefをハッシュから取り除くタイミングとか結構かったるいな〜