げっ、明日か! すっかり存在を忘れてた。どうしよう。 いまコード書きが調子いいから、 勢いで終わらせてしまいたいのだが……。
読書会に出て現場でコード書こうかな……。
(14:44)
サブタイは気分によって毎回変わります。
もういっかいデータベースの物理構造をまとめてみよう。 まとめ、大切。
db/1.9.0/ properties libraries/ _builtin/ properties source classes methods abbrev/ base64/ benchmark/ bigdecimal/ classes/ ARGF/ properties source methods/ file/ s._builtin filename/ lineno/ path/ skip/ to_s/ Abbrev/ ArgumentError/ Array/ BasicSocket/ BigDecimal/
これまでの考察を経て、method/ が消滅。 メソッドの位置は CLASSNAME/methods/METHODNAME/TYPECHAR.LIBRARYNAME に変えた。 TYPECHAR は singleton_method とか instance_method の種別を表すアルファベット 1 文字。
ライブラリからメソッドを得るときは CLASSNAME + METHODNAME で検索してから LIBRARYNAME でフィルタする。
あらためて考えると、TYPE と LIBRARYNAME の扱いが肝だな。 だいたいアレだ、module function がすべて悪い。 こんなものがあるから、 ドキュメントの実体をコピーしないで済ますには TYPE を最後にせざるをえなかったのだ。
(15:54)
まとめ、大切。
とか言いつつ実装の間際になって構造を変えてしまった。 なんだかんだで最初の形に近くなったな。
db/1.9.0/ properties library/LIBRARYID/ properties source classes methods class/CLASSID/ properties source method/CLASSID/TYPECHAR.METHODNAME.LIBRARYID/ properties source
こんな感じ。
(00:25)
この構造なら、 properties と source を融合しちゃえば クラスとメソッドにはディレクトリ作らなくても済むなあ。 ディレクトリ作りまくると実容量を食うし、 ディレクトリ数を減らすに越したことはない。
それはそれとして、 調子に乗っていま変換が済んでるぶんを全部つっこんだら、 何事もなく処理できてしまった。 いつもならここで何か起きそうなもんだけど。
(00:37)
Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved.
「手引先生スゴま!」
「青木先生るりま!」
Rubyを
大いに盛り上げるための
リファレンスマニュアル
略してROR
夏休みが終わらなくなりそうな名前ですね。