[Fswiki-dev] Re: Perl Tips 参照渡し

Back to archive index

あき attin****@kk*****
2005年 11月 8日 (火) 08:44:39 JST


あきです。

> 竹添です。
> 
> 正規表現の件に関しては、可能かもしれないと思い、検証してから
> 回答しようと思っていたのですが、

そうでしたか…。
すみません、気が早くて…。

> >>ということで、試しにsearchプラグイン(?)の改良版で試してみました。
> >>速度が低下することもなく、良好に動作しています。
> >>
> >>キーワード検索結果を色分け表示させるパッチ
> >>http://fswiki.poi.jp/wiki.cgi?page=BugTrack%2Dplugin%2F235
> >>
> >>後はページの自動リンクでしょうか?
> >>それとも、それ以外にもまだ有りますか?
> >>あまり多いと対応するのが億劫になりそうですが…。
> 
> すべては把握できていないのですが、ページの自動リンク以外にも
> 修正すべき部分があったと思います。

修正箇所が多そうですね。
後は、InterWikiNameくらいかと思っていたのですが…。
って、今日ようやくInterWikiNameの使い方が分かりました。
便利な機能ですね。
すみません。こんな初歩的なことも知らずにいろいろ発言したりして…。
あと他に、WikiNameなんてのもありますね。

> > 難しいですねぇ。(>_<)
> > 何やら高速化の為のおまじないみたいなことをしているらしくて…。
> > lib/Wiki/Keyword.pmのload_keywords()関数で$self->{regex}
> > に詰め込んでいるものがまるで魔法のようです。
> > 私にはまるで『ちんぷんかんぷん』です。quotemeta?
> > 複数のキーワードと高速にマッチさせる手法でしょうか?
> 
> quotemetaは正規表現に文字列を組み込む場合に
> 正規表現のメタ文字をエスケープする関数ですね。

ありがとうございます。
勉強してみます。

> 
> > 確かに、ここを分解して一つ一つをサーチすると遅くなってしまいそうです。
> > 逆にexists_keyword()関数の「if($str =~ /$regex/){ … }」の部分は
> > そのままにて、このif()文に入った時だけ、詳細なチェックをするのは
> > いかがでしょう?
> > マッチした行しか詳細チェックの対象になりませんので、速度的なロスは
> > 最小限で済みそうな気がしますが…。
> > 表示しようとしているページだけが対象ですよね?
> 
> 自動リンクに関してはそれでよさそうな気がします。
> まずは直さなければいけないところを特定してからですね。

あまり多いようだと気が引けますね。
漢字1文字のページって、そう滅多に存在するわけでもないですし…。
苦労するだけの恩恵があるようには、ちょっと思えないですね。

検索に関しては、ページ名には関係なく、1文字検索で無関係なページが数多く
ヒットしてしまってましたので、そちらに関しては修正は正解だったと思います。

ということで、問題があっても影響範囲で修正すべきか否か考えた方がいい気が
します。苦労して対応しても(下に続く)

> ちなみに4.0では文字コードがUTF-8になるので、
> こういった対応は不要になるかと思います。

次メジャーバージョンから不要になるなら、労力をかけるだけ無駄な気もします
し…。





Fswiki-dev メーリングリストの案内
Back to archive index