Toshです。 In message "[ruby-list:18472] Re: Array doesn't include Comparable" on 99/11/10, EGUCHI Osamu <eguchi / shizuokanet.ne.jp> writes: >そういや、ruby-info.elのポインタを示してなかった。 > <ftp://ftp.netlab.co.jp/pub/lang/ruby/contrib/ruby-info.el> >です。[ruby-list:14304]から始まるスレッドを見てもらってもよ >いです。>興味を持った人 とりあえず、ruby-texi-1.4と、ruby-info.elをとってきて、試して みました。 なるほど、たしかにruby-info.elは便利そうです。リファレンスを 調べるのにEmacsの中でできるし、操作も簡単だし。 >> 要はメソッド索引が簡単にできればいいわけですから、RDの仕様に >> 盛り込む事まで考えなくても、メソッド索引付きのRDの作成を支援 >> するツールとか、rd/rd2html-mindex.rbの様な方向で進めても、目的 >> は果たせそうですね。 > >率直な意見としては、Headline 等に #, :: を含むかどうかでの判 >断って言うのは多少無理があるかなぁと思います。つまり、RDの仕 >様として盛り込んだ方が綺麗だろうと言うのが私の考え。ただまぁ、 >あまりRDを書いてない人間がごちゃごちゃ言うのも変なので、とり >あえず戯言として受け取ってもらっても構いません。 > >要求は利用者からのものの方が良いでしょうし、rd2html-mindex.rb >は、そのための叩き台としては十分だと思うので、私から言うこと >は(今のところ)これ以上ありません。 ruby-texi-1.4とTexinfo自体のinfoの@defmethodのトコあたりをちょっと 覗いて見てようやく理解しました。今までは僕はちょっと誤解していたと 思います。 あらいさんが要求していたのは"@findex"のようなものだと思っていたの ですが、そうでなくて"@defmethod"相当が欲しいってことですよね? 確かにTexinfoのようなものを見ると"@defmethod"相当はあったほうがいい のかも、と思えてきます。それが自然かも、と。 RDはこれまでのところ、plain text + 文章構造 みたいな感じに仕様が 決められて来ました。それに対して、Texinfoのアプローチは意味領域に まで踏み込んで人間の意図をコンピュータに伝えようとしているように 見えます。 そのため、Texinfoにはリファレンスみたいなものを書く時に細かい指定 ができるようなコマンドがたくさんあるみたいですね。"@defmethod"と "@deffn"は別になってたりもしますし。 さて、Texinfoのアプローチは魅力的ですが、Texinfoのようにたくさんの コマンドを仕様に含む訳にはいかないRD((- RDは読みやすく書きやすいが モットーなので、なるべくコンパクトに文法をまとめたいのです。-))に はTexinfoを追っかけるのは無理があります、たぶん。 それじゃあ、どこまでTexinfoのイイトコを取り込むか? とりあえず、リファレンス的なものはたくさん書かれるだろう、というのは ほぼわかってるので、ここらへんの部分はなんとかしたいところです。 それで、ぱっと思い付く限りではやりかたは2通り。 (1) リファレンスみたいなものは、きっとRubyのリファレンスマニュアルと だいたい同じ形式で書かれるだろうと仮定します。つまり、あるクラス についてのリファレンスの文章構造が、 = Foo (クラス名) クラスについての説明。 == Class Methods === new 説明。 ... === Instance Methods === hogehoge 説明。 ... こんな感じになるであろうと仮定して、この形式に沿った文章構造の ドキュメントならば、メソッド索引などの付加情報も抽出できるという 方法。 (2) メソッド宣言用の専用Headlineの文法を新しく定義する。 1番目のやり方は間接的で、ドキュメントの書き方に制約をつけます。もっとも、 この形式で書かなくてはいけないと言う訳ではありません。恩恵は得られなくなり ますが。 2番目のやりかたは直接的で単純ですが、問題もあります。定数((-なんか名前も 変わっちゃうみたいですが。-))・クラスメソッド・インスタンスメソッド・ クラス(さらにもしかしたら、モジュールとモジュール関数については別にすべき?) について別々の文法を用意しなきゃならないので、文法を決めるのがまず 結構大変です。わかりやすく、覚えやすくて、見ためも美しくないとならないので。 それと、文法に組み込むと後で変更ができない、もしくは難しいってのもいや なところですね。 さて、どうしたらいいでしょうか? --- Tosh Toshiro Kuwabara