次のWikiFormeをガツガツ実装中

ガツガツ実装中。また書き直してます。設計一新。

先の計画通り、parseとunparseで、大体の場合はデフォルトでなんとかなるように実装。中間表現の分離に成功。

中間表現のシリアライズとデシリアライズがまだできていないけど、現時点でだいたい1500行。Rubyで1500行にもなると結構大きい方じゃないか。あーどんどん肥大化していく。うへ。


そしてparseとunparse周りにはいろいろと落とし穴が。

  • インスタンスメソッドではなくクラスメソッド
  • 実際に呼ばれるのself.parseとself.unparseではなくself.parse_realとself.unparse_real
    • self.parseを定義してもダメで、self.parse_realを定義しないといけない
  • self.parse_realとself.unparse_realは引数をたくさん取る
  • 返り値にYAMLシリアライズできないデータを返してはいけない
  • クラス変数は使えない(シリアライズされないので)

うむー。でもいずれも凝ったことをやらない限りは発現しない。


parse/unparse/processより、preprocess/unproprocess/processの方が分かりやすい?