Toshです。

In message "[ruby-list:20265] Re: RD with method index (again)"
    on 00/01/19, Koji Arai <JCA02266 / nifty.ne.jp> writes:
>> # ちょっと忙しいのでしばらくレスポンスが悪くなるかも知れません。
>
>だいじょぶです。私もすっごくレスポンスが悪いので(ダメじゃん)

それはよかった。(ちがうし)

>> >= ペンディング
>> >  * 出力時、メソッド名部分は自動で<CODE></CODE>で囲んでくれるとな
>> >    お良い(と新井は思う)。
>> 
>> 同意。ついでに、パラメタも<VAR></VAR>するとなお。
>
>私のお試しパッチではやってますね(^^)

あ、そうですか。MethodListはそのまま採用される公算高くなってきましたから、
あのパッチはたぶんまるごととりこまさせていただきますね。

>> >     --- Class.[](arg)
>> >         ((<Class.[]>))...
>> >    は、
>> >     Class[arg]
>> >       Class[] ...
>> >    という出力を得られれば良い(クラスメソッドの[]の表記では"."は省略)
>> 
>> 今のリファレンスでは self[arg] って形になってます。
>> どっちがよろしいでしょうか?
>
>--- Class#[](arg)
>
>の場合ですよね。私は Class#[arg] でもまぁ困らないかなと思い
>ました。"self"付きは実績があるので、やってみるのも良いでしょ
>うね。

まぁ、ちょっと色々試してみてもいいでしょうね。
ここらへんいじるのはわけないでしょうから。

>> >  * ベースラインを下げすぎるためインデントが深くなる
>> したがって、「"---"というのは特に問題ではない。Baselineも特別
>> 扱いは必要ないだろう。」というのが僕の意見となりました。
>
>了解です。マズイことがあれば他から意見が出るでしょうしね。

じゃあ、ちょっと待ってみて、なんにもでなかったら、あらいさんの
パッチ取り込みます。

ただ、実験期間みたいのをおいたほうがいいのかどうか。

>> ((< ...>))の中の特殊文字はもうちょっと増えそうですね。なるべく早いうちに
>> 決めたいです。
>> # なにしろとにかく決まらないと「ドキュメント拡充プロジェクト」みたいな
>> # ものにいっこうに手が付けられないですし。
>
>「昔から議論されてるもので必要とされているもの」に挙げたモノ
>は早いところ実装したいです。

そうですね。何度も話題になってるけど、全然進行してないのもあります。
ヘッダみたいなもの、とか。

>> >  * MethodListはネストしない?(実装もそうするのか?)
>> 
>> どうでしょう?実装上は別にわざわざ制限を付ける理由もないかと思います。
>> まぁ、MethodListを入れ子にして書く人はまずいないでしょうが。
>
>はい。了解です。ネストを許さなくすればパーサが楽できるかもと
>思って一応挙げただけなので、実装がネスト可になってても問題な
>いです。
>
>--- Class
>    --- method
>
>って書く人が現れたりして(^^;

これはこれで、なんかいいかも、とか思いました。(^^;;

>これなんですが、ruby-man.rdに関して言えば用語集のところを
>
>   : インスタンス
>   : Instance
>     ....
>
>と書けば逃げられることに気がつきました。なのでまぁ実装は急ぎ
>ません。もう少し必要性を検討した方がよいかもしれません。

この場合はこれで逃げられますね。
そもそも用語集みたいなものはRDのラベルの敵なんですよね。(^^;;

必要性の検討は僕も必要だと思います。

>> 分を省略可能に」するためのものであって、「面倒だからはじめの部分だけを
>> 書けばいい様に」するものではないということを言っておきます。つまり、判
>
>はい。意図は理解しました。ただ方法としてはやはり抵抗がありますね。

提案しといて何ですが、僕にも抵抗あります。なんというか、「ちょっとやりすぎ」
な感じですね。マークアップ言語の様なものの仕様としてはやってることが複雑
すぎる、というか。色々無理が出て来そうです。

>そうですね。上記用語集の例のように書き方を工夫する事で逃げら
>れることはありうるので、この辺やはり要検討ってことで保留でしょ
>うね(ruby-man.rdのオプションの参照はどうしようかなぁ)

オプションがダメになるのはなんででしたっけ?
引数をとるオプションがあるからですか?

>> >* 見出しにインラインを許す
>
>> 根本的な問題は上の例の場合
>>   ((<ほげ((*HOGE*))>)) === ((<ほ((*げHO*))GE>)) (as Reference)
>> になるのか?とかそういうことです。
>
>私は、上記はイコールであると考えて問題ないと思ってます。
>
>= のラベルと == のラベルが同じラベルと判断されるようにフォン
>トの属性のようなものは一致判定には必要ないでしょう。(って全
>然違う例を引合に出してる気はする^^;)

む、なるほど。じゃあ、「インラインによるテキスト属性などは完全に無視し
て」ってことですね。これがシンプルでよさそうかな。

>> >* HTMLの複数ページ出力
>> >  (1) RDtoolによる自動分割(分割の目安はユーザが指定するか?)
>> >  (2) "=begin"..."=end"で囲まれてるところをページ(ノード)の単位に。
>> >  (3) .rd -> .html とファイル単位に対応させる
>> 
>> これはRDtool側の問題ですね。まぁ、どれが便利か、ってとこでしょうか。
>> (2)はややRDの仕様的には好ましくないとは思ってます。柔軟ではあるけど。
>
>私も(2)案はちょっと・・・(=begin、=endは今のところコメントの
>役目を果たしてますし)

あ、そうでした。<コメント
それ考えると、全然柔軟じゃないですね。(^^;;

>> >* RDtoolのエラー出力を詳細にする
>
>> 行番号出力は一番必要なのですが、一番やっかいっぽいです。(^^;;
>
>文字列の特性を持ったクラスを定義して行番号を属性に持つとか・・・
>require 'delegate'
>
>class SrcLine < DelegateClass(String)
>  attr :line_num
>  def initialize(str, line_num)
>    @line_num = line_num
>    super(str)
>  end
>end
>
>s  = SrcLine.new("foo", 1)
>s2 = SrcLine.new("bar", 2)
>p s		# => "foo"
>p s.line_num	# => 1
>p s = s + s2	# => "foobar"
>p s.type	# => String
>
>ファイルを読み込んで書く行をこのクラスのインスタンスにして、
>配列に入れとく。で、パースしながら、文字列に連結していく。と
>か。どーでしょ?
>
># 初めてdelegate使った^^;

そうか、delegateか!なんか目が冷めました。(^^
# 標準ライブラリと頭は使いようね。>俺

あと、読み込みながら一行ずつパーサに放り込んでって、エラー時の
IO.linenoって手もあるでしょうか。
ただ、これだと、今のパーサではインラインのエラー行表示がちょっと
後ろにずれちゃいますが。

---
Tosh
Toshiro Kuwabara