新井です。

From: Koji Arai <JCA02266 / nifty.ne.jp>
Date: 24 Aug 2000 01:17:31 +0900
Subject: [ruby-list:24433] Re: RubyDocumentationProject(仮)

> 新井です。

> ま、よろしければ [ruby-list:19934] からのスレッドは参照して
> みてください。

現状の MethodList に関して、書き方をまとめてみました。叩き台
ですが書き方にポリシーのない方はこれに従っていただくというこ
とで。

# るびきちさん: RDPのページからこのメールへのlinkをつけてい
# ただけますか?

あと、RD の書き方がわからないけど、プロジェクトには貢献した
いという方はベタなテキストでもよいと思います。

ruby-man.rd から以下を抜きだして持っていってください>るびきちさん

dbm.rd
kconv.rd
getopts.rd
parsearg.rd
ftplib.rd (obsolete)
socket.rd
thread.rd

------------------------------------------------------------------------
RD の MethodList について

 MethodList の書き方は、現状以下の書き方を推奨しています

 基本的に
   ・rubyでのメソッド定義に似ている
   ・ruby界におけるメソッド表記法に似ている
 です。

  --- Class.method(arg1, arg2)
      クラス/モジュールメソッド/モジュール関数であることを示します。
      "." ではなく "::" と書きたい方もいらっしゃるでしょうが、
      現状の取り決めは "." です。

  --- Class#method(arg1, arg2)
      インスタンスメソッドであることを示します。

  --- Module::Class#method
      ネストしたクラス/モジュールのインスタンスメソッドの例です。

  --- Class::CONSTANT
      クラス/モジュール定数であることを示します。

  --- function#method()
      このように "function#〜" は 関数を表します。

      function# はかなり冗長な気がしますが。当面はこれで行きま
      す。(後々の取り決めで変更があっても機械的書き換えができ
      るように)

  --- Class#method
  --- Class#method2
      2つ以上並べて記述した場合それらがエイリアスであることを示します

  --- Class#method
  --- Class#method(arg)
  --- Class#method {|a, b| ... }
      説明の都合上、複数の引数形式を書いた方がわかりやすい場合
      もこのように並べて書きます。

  --- Class#method(arg1, arg2=nil)
      これは、2番目の引数が省略可能でデフォルト値がnilであることを示しま
      す。

  --- Class#method(arg1[, arg2])
      これも、同様に2番目の引数が省略可能であることを示します。
      こちらの書き方の方が、初期値指定よりも都合がよい場合があ
      ります。

  --- Class#method(arg1, *arg2)
  --- Class#method(arg1[, ...])
      これは、引数を1つ以上指定できることを示します。

  --- Class#[](arg)

  --- Class#[]=(arg1, arg2)
      self[arg]、self[arg1] = arg2 のような配列参照/代入形式の
      メソッドは、このように書きます。

  --- Class.[](arg)
      クラス自身の演算子形式メソッドは"."で書きます。

  --- Class#+@
      単項演算子は、このように。

  --- Class#+ arg
      二項項演算子は、このように書きます。

  --- $var
      グローバル変数です。

なお、RDtool 自体は、MethodList を

・ `('、 `{'、 ` '(空白) より前の語をラベルとみなす

と扱います。それ以外ではHTML出力では見た目のために

・ ラベルでない部分の語はフォントをイタリックにして引数らしくする
・ "function#" は隠す
・ 演算子形式のメソッドは Class#[arg1] = arg2 と見た目を変える

といった処理を行います。
------------------------------------------------------------------------

--
新井康司 (Koji Arai)