作者: Zazel
日時: 2006/7/06(17:58)
Zazelです。

=== 閑舎 <raku@...> さんが書かれた
=== <20060706.163349.55511811.raku@...> にて

> それはあるんですが。そうすると、解析器というクラス 1個と配列、さらに関数
> いくつかで終わり、となりますか? あまりオブジェクト指向的でなく、従来型
> プログラミングという感じで面白くないなあ、と思ってしまいまして。

Wikiのフォーマット自体が行指向の逐次処理ですし、HTMLにしても
SGML/XMLから継承するならばともかく要素はただの入れ子構造なので、
要素の構造をまるごとそれぞれ別のクラスで置き換えるのは合わないと
思います。するにしてもCGI.pmのようにHTML出力のクラスでメソッド化
するくらいでしょう。で、それに被せるWikiのクラスをつくる。

> ここらへんがよくわからないのですが、解析器が再帰的に解析器を呼び出すとな
> ると、新たなインスタンスが生成され、重くなるというふうにはならないんです
> か?

普通の再帰呼び出しの意味で書きました。引数などはクラス変数なり
参照渡しなどをすれば、それほど速度は気にならないし。

class Hoge {
    ....
    function recursive {
        ....
        $this->recursive();
        ....
    }
}

# 実は自作のWiki風のスクリプトがありますが、再帰ではありません。f(^o^)
# “#include()”の処理あたりは再帰ですが。

(* SEKI Masatoshi  //  Zazel                      *)
(*  Would you hold my hand? Softly, let's linger. *)