Toshです。

> > あ、いや。これはこの後に書いたメソッドをHeadlineでならべちゃえば、
> > 目次作るくらいの事はできるけどね、ってやつです。それで不十分なら
> > もちょっと解決策を考えなきゃなりませんね。
> 
> 考えましょう (^^

とりあえず、やってみました。
RDtoolのバージョンアップも併せて rdtool-0.5.2.tar.gz の名前でin.coming
に置きました。  よろしくお願いします。>まともとさん
# RDtool自体の変更は(Ruby本の影響で)Enumerable includeしたり、moduleで
# 名前空間分けてみたり、です。

rd/rd2html-mindex.rbなるライブラリがRDからメソッドの名前を捜し出して、
メソッドの索引付きHTMLを出力するためのものです。
具体的にはHeadlineのtitleとDescListのtermに「#」や「::」がある場合に
それぞれインスタンスメソッド、クラスメソッドか定数、とみなして、索引
のエントリにしています。
rd/rdvisitor.rbのRDは実際にこの形式で書かれたRDになってますので、
実際に試してどんな感じだか判ると思います。
make install してもrd/rd2html-mindex.rbはインストールされないので手で
インストールしてください。

てなわけで、こんな感じだとどうでしょ?>あらいさん
これだと、周りへの影響はほとんど無しで機能を実現できるのですが、まだ
不十分ですか?
# あ、適当にでっちあげたのでコードは汚いですが御勘弁を。

> > そういうのは別に構わないし、あれば便利な物はあったほうがいいかと
> > 思います。
> > ただ、僕は保守的なのか割とRD自体の機能をどんどん追加していってそれ
> > を実現するのに消極的な(というか結構きっぱり反対してるかも(^^;;)だけで。
> > そういうわけで、これもRD自体のシンタックスに手をいれること
> > になるので、慎重な態度をとってしまうのですね。
> 
> 厳しいですね。でも、メンテナのこういう厳格な態度っ
> てのはどうやら必要不可欠なもののようです。

いや、僕はRD自体のメンテナってわけじゃないんですが、いいだしっぺ
なので割と深く関わってる、って感じでしょうか。
厳しい(と言うかうるさい)のは性格でしょう。(^^;;

> ポリシーがあるからこそ、良いものが出来る。説得する
> ならそれなりの材料を持ってこいってところでしょうか。
> (説得下手には辛いところ)

RDのポリシーは「人間が読みやすいものを」かと思ってます。
プログラムのドキュメントはメンテナンスが重要なので、人間が見て
一目で構造が把握できるようなものでないとメンテがむずかしくなる、
ってのが前提かと。
これは僕の勝手な考えで他の人がどう思ってるのかは知りませんが。

> > RD自体のドキュメントも書かなきゃならんような気もしてますが、
> > さぼってます、すみません。
> 
> がんばってくださいね。RDの例にもなりますし。

RDの例ですが、RDtoolに含まれる *.rb ファイルにはほとんどRDが含まれて
います。rd2texiのテストの時には使ってみてください。

> > RD自体がとりあえずHTMLとLaTeXあたりを参考に最低限のものだけを
> > 詰め込んだ、って感じなので、本当に情報が足りてない可能性はあり
> > ますね。僕はtexiわからないので、どこらへんが足らないのかよく
> > わからないんですが。
> 
> メソッド索引!(ひつこいって ^^)。西本さんの
> ruby-info.elは本当に便利ですよ。Emacs上で
> emacs-lispを書いてるときに簡単に関数や変数のヘルプ
> が見れますが、あんな感じ(そのもの)です。Emacs で
> ruby書いてる人は使わなきゃ損だと思う。

メソッド索引ちょっと本格的に考えてみましょう。
あれば便利そうですし。
要はメソッド索引が簡単にできればいいわけですから、RDの仕様に
盛り込む事まで考えなくても、メソッド索引付きのRDの作成を支援
するツールとか、rd/rd2html-mindex.rbの様な方向で進めても、目的
は果たせそうですね。

最後に余談。
RDtoolのバージョンアップのせいでrd2texi-lib.rbはそのまんまだと動かなく
なっちゃってます。すみません。>あらいさん
具体的には
* Class定義をまるごとmodule RD ... endで囲ってしまうようにしてください。
* rd2html-lib.rbでラベルの前処理をしていた部分はRDVisitor#prepare_labels
  にお引っ越ししました。ただこれは(明示的に呼ばないと何もしませんので)
  ほっといても動くと思います。
* RDElementにEnumerableがincludeされた為にArray#+などの暗黙にto_aを使って
  型変換をする可能性のあるメソッドを使ってると思わぬバグを引き起こすかも。
あたりを修正してみてください。

それでは。
# なんかみょ〜に忙しいので、全体的に反応が遅れてます。すみません。

---
Tosh
Toshiro Kuwabara