Toshです。 > > メソッド名で索引、くらいなら他に方法ありますし。 > > あれ?そうなんですか?これはヤパイ。私がRDを知らな > いだけだったらゴメンナサイ。 > > もう一度考え直して、意見をまとめます。 あ、いや。これはこの後に書いたメソッドをHeadlineでならべちゃえば、 目次作るくらいの事はできるけどね、ってやつです。それで不十分なら もちょっと解決策を考えなきゃなりませんね。 もひとつお手軽な(というか今の仕様でやりくりする)方法としては、 "((:Class#Method:))"って書く、とか。これはそのまんまインデクスの 機能です。 > まず大前提 > 1. メソッドの索引を作れる仕組みがあるとよい。 > そして、できれば > 2. ライブラリのマニュアルは、ある程度スタイルが統一 > された方がよい。 > このための案として、 > 3. =end\s+(def|class|module) をパースしてはどうだろう? > > ってところです。Texinfoへの変換も1、2が満たされれ > ばたぶんなんとかなると思います。つまり、3っていう > のは案の1つであって全然別の方法でも構わないです。 ふむふむ。 > > でも、まずひとつめに、推奨されるスタイルってのもRDのフォーマット自体 > > になにかそういう制約がついてる、よりは、メジャーなライブラリのドキュ > > メントに共通のスタイルがある、とかそういう「暗黙の了解」みたいなもの > > の方がいいんじゃないかな、と。 > > で、暗黙の了解を作るための材料みたいなのがあった方 > が良いと思うんですが、この点はどうでしょ? > > RD側で「別に使う必要はないですよー。でも、これ使え > ば後々得しますぜ。ダンナ」みたいなものを用意するっ > てことですが。これは制約を作ることにはならないです > よね? そういうのは別に構わないし、あれば便利な物はあったほうがいいかと 思います。 ただ、僕は保守的なのか割とRD自体の機能をどんどん追加していってそれ を実現するのに消極的な(というか結構きっぱり反対してるかも(^^;;)だけで。 > 具体的な*例*で言えば、例えば以下の3種類の見出しは > 単にフォーマットしただけならまったく同じ見ためにな > るようにします。 > > == Foo > =c Foo > =d Foo > > ただし、=c(lass) にはクラス名、=d(ef) にはメソッド > 名の意味を持たせているためメソッド名だけの索引を作 > るのが簡単になります。 そういうわけで、これもRD自体のシンタックスに手をいれること になるので、慎重な態度をとってしまうのですね。 例えば、 == Class#Method って感じに、メソッド名と*思われる*見出しを見付けて索引を つくる、ってツールであれば、(RD自体には変更を迫らないので) 反対する理由もありません。 # これだと、Headlineの付け方に制約出て来ちゃうけど、やりたい人だけ # そうすりゃいいことなので、まぁ、構わないかと。 > おそらく、先にRD側で書き方を決めつけるよりは、皆の > 書き方を見てその後でRD側がそれに合せた書きやすさを > (必要なら)提供する。ってことを考えてるのですよね? > それはそれで全然構いません。(今、それほどRDに夢中っ > てわけでもないですし) そんな感じでいいんじゃないかと。 黙っていれば自然とノウハウが集まって、標準的な書き方とか 便利なツールとかを誰かが勝手に作ってくれるんじゃないかと 期待してます。 # バザール方式?(^^;; > > 例えば、「公開メソッド(単にpublicって意味でなく)は見出しにする」とか > > いうスタイルにすればRDtoolが目次を出力してくれるようになれば、メソッド > > で索引は実現可能ですよね? > > そうでしょうか?目次と索引は全然別物だと思うんです > けど、この辺で意見が食い違うのはなぜだろう? > > 私がRDにまだ詳しくないからかもしれないので、全然別 > の例をあげます。 > > HTMLで書かれたRubyのリファレンスマニュアルは、メソッ > ドも変数も見出しもあらゆるものが<A NAME="..."></A> > でマークされてます。HTMLなんだから当然ですよね。 # 余談。 RDの場合には、HeadlineとDescListのTermに勝手にラベル(HTMLだと <A NAME="label:n">...</A>がつきます。 そして他の部分にラベルつけるって機能は今のところなし、です。 > あのマニュアルには、MethodIndex.htmlっていう > のもあるんですけど、はたしてあのマニュアルから > MethodIndex.htmlを自動で生成できるでしょうか? う〜ん。 Headlineにはメソッド名しかつけない、とか、Indexをメソッド名だけにしか 使わないとか、しなきゃ無理じゃないですかねぇ。 やれるとこまでやって、上に挙げたような「Headlineからメソッドらしいもの を自動で取り出す」ってやりかたが精いっぱいでしょう。 # そういうのはrubyapiの方に任せてしまおうか、って気もちょっとあり。 # ところで、MethodIndex.htmlって手元のリファレンスマニュアルに # 見当たらないのですが、どこでしょ? > # 実際、マニュアルからではなくruby本体から > # Object#methods を使って自動生成しているように見 > # えます。(ん?RDにもその手が使えないかなぁ?) > > RubyのリファレンスマニュアルをRDに書き換えることを > 考えたとき、これは可能でしょうか?(可能ならよいの > ですが、話終っちゃうけど) 上に書いた通り、「無理」か「工夫すればできないわけでもないけど、・・」 くらいでしょうか。 > > ruby-talkの方でも「他のRDへの参照」とかの話題も出ていますので > > 何か御意見があればそちらもよろしくお願いします。 > > ruby-talkは一時期流量が多くなってついていけなくなっ > たのでした。たしかRDのせいだったような(^^; (今、妙 > に古いバグ報告とか読んでたりしてます) そです。(^^;;<RDのせい ただ、ちょっと前にあらかた収束しちゃっいましたが。 > RDを理解するには、あちらの議論もしっかり読まないと > いけませんね。 RD自体のドキュメントも書かなきゃならんような気もしてますが、 さぼってます、すみません。 > > # infoに出力するときにはもろに影響がある問題でしょうし。 > > そうなんですよねぇ。結局、 > > 4. Texinfoにするための情報がRDに足りない > > んですよ。(結局、私の個人的な要求はこっちだった^^) > 理解が足りないだけかも知れませんが。とりあえず、も > う少しお勉強してから出直したいと思います。 RD自体がとりあえずHTMLとLaTeXあたりを参考に最低限のものだけを 詰め込んだ、って感じなので、本当に情報が足りてない可能性はあり ますね。僕はtexiわからないので、どこらへんが足らないのかよく わからないんですが。 > # 別に、Texinfo大好き人間ってわけじゃないんですけ > # どね。信じてもらえないかも知れませんが(^^; Texinfoとかは興味あったりもするので、これを機にちょっと調べて みようかと思ってます。 > # 長々とすみません。お時間のあるときで構いませんの > # でおつき合いしてくださいませ。 どうもこちらこそ。 --- Tosh Toshiro Kuwabara