新井です。

>>> From: Toshiro Kuwabara <toshirok / yb3.so-net.ne.jp>
>>> Date: 14 Jan 2000 01:50:48 +0900
>>> Subject: [ruby-list:20204] Re: RD with method index (again)

> Toshです。
> # ちょっと忙しいのでしばらくレスポンスが悪くなるかも知れません。

だいじょぶです。私もすっごくレスポンスが悪いので(ダメじゃん)

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

私のお試しパッチではやってますね(^^)

> >     --- Class.[](arg)
> >         ((<Class.[]>))...
> >    は、
> >     Class[arg]
> >       Class[] ...
> >    という出力を得られれば良い(クラスメソッドの[]の表記では"."は省略)
> 
> 今のリファレンスでは self[arg] って形になってます。
> どっちがよろしいでしょうか?

--- Class#[](arg)

の場合ですよね。私は Class#[arg] でもまぁ困らないかなと思い
ました。"self"付きは実績があるので、やってみるのも良いでしょ
うね。

> >  * ベースラインを下げすぎるためインデントが深くなる

> これですが、考えてみるとEnumListの"(1)"というのも"---"と同じ幅です。

ふむ。そういえばそうですね(EnumList実は使った事がない)

> したがって、「"---"というのは特に問題ではない。Baselineも特別
> 扱いは必要ないだろう。」というのが僕の意見となりました。

了解です。マズイことがあれば他から意見が出るでしょうしね。

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

「昔から議論されてるもので必要とされているもの」に挙げたモノ
は早いところ実装したいです。

> >  * MethodListはネストしない?(実装もそうするのか?)
> 
> どうでしょう?実装上は別にわざわざ制限を付ける理由もないかと思います。
> まぁ、MethodListを入れ子にして書く人はまずいないでしょうが。

はい。了解です。ネストを許さなくすればパーサが楽できるかもと
思って一応挙げただけなので、実装がネスト可になってても問題な
いです。

--- Class
    --- method

って書く人が現れたりして(^^;

> >* 参照文字列と参照先の判定
> >  Toshさんの意図に反して<A NAME="label">substitute</A>の表現の案
> >  [ruby-list:20025]として書きます。
> >     : インスタンス, Instance
> >  の参照を
> >     ((<インスタンス|インスタンス, Instance>))は、...
> >  と書きたくはないと言うことです。
> 
> 僕もこういうのはいやです。

これなんですが、ruby-man.rdに関して言えば用語集のところを

   : インスタンス
   : Instance
     ....

と書けば逃げられることに気がつきました。なのでまぁ実装は急ぎ
ません。もう少し必要性を検討した方がよいかもしれません。

> 分を省略可能に」するためのものであって、「面倒だからはじめの部分だけを
> 書けばいい様に」するものではないということを言っておきます。つまり、判

はい。意図は理解しました。ただ方法としてはやはり抵抗がありますね。

> >  (2) :: label substitute

> みたいなものよりRobustだろうとは思います。ただ、ラベルって管理が結構
> 面倒なんですよね。LaTeXとかでもまず名前をつけるのに一苦労って感じに。
> 今までラベル宣言みたいなものは無しでやってきたので、ここまできたら
> なるべく無しで済ませたいっていうのもあります。Rubyには変数宣言はない、

そうですね。上記用語集の例のように書き方を工夫する事で逃げら
れることはありうるので、この辺やはり要検討ってことで保留でしょ
うね(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使った^^;

> >* RDの個別コンパイル[ruby-list:20068]
> >  rb2ro, rdld を使用する(これはまだお試し?)
> 
> お試し、ですね。最終的にどうなるのかは不明です。

ま、私だけしか使ってないでしょうから(^^;

> >以上、未だ勘違いがあるようならご指摘願います。
> 
> とりててて問題はないと思います。僕の知る限りでは。

よかった(^^)(結構不安だった)

--
新井康司 (Koji Arai)