げっ、明日か! すっかり存在を忘れてた。どうしよう。 いまコード書きが調子いいから、 勢いで終わらせてしまいたいのだが……。
読書会に出て現場でコード書こうかな……。
(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)
「手引先生スゴま!」
「青木先生るりま!」
Rubyを
大いに盛り上げるための
リファレンスマニュアル
略してROR
夏休みが終わらなくなりそうな名前ですね。