2009年6月27日土曜日

rdocでriを後から生成するための3ステップ

Windows版のrubyをソースからコンパイルして利用することにしたのですが、riドキュメントを生成し忘れてしまいました。

ri用のドキュメント生成を忘れたまま放置するのは非常にもったいない。簡単に生成できるのでメモを残します。



前提

  • rubyのソースコードがあること

  • rubyのインストールが終了していること

  • ruby\binにパスが通っていること(ここではC:\ruby\binとします)

ステップ1:riドキュメントの出力先を知る

まずriドキュメントを、どこに出力すればよいか知る必要あります。
コマンドラインコンソールから次のコマンドを実行してください。
ri -h

僕の環境では、次のような出力となりました。
--system Include documentation from Ruby's standard library:
C:/ruby/share/ri/1.8/system

--site Include documentation from libraries installed in site_lib:
C:/ruby/share/ri/1.8/site

--home Include documentation stored in ~/.rdoc:
C:/Documents and Settings/USERNAME/.rdoc

--gems Include documentation from RubyGems:
C:/Documents and Settings/USERNAME/.gem/ruby/1.8/doc/*/ri

C:/ruby/lib/ruby/gems/1.8/doc/*/ri

とりあえず欲しいのはsystemのドキュメントなので、以下のパスが出力先です。
C:/ruby/share/ri/1.8/system


ステップ2:rdocでriドキュメントを出力する

ri用のドキュメントは、以下のようにソースコードの位置へ移動してからrdocコマンドを使って生成します。

ここでいうソースコードとは、rubyのコアの.cファイル(string.cとかarray.cとか)を含むruby自身のソースコードを指します。

ここの例ではC:\src\ruby-1.8.7-p174にソースコードが置いていある想定です。
ポイントはステップ1で調べた出力先を--opオプションで指定している部分になります。

cd C:\src\ruby-1.8.7-p174
rdoc --ri -op C:/ruby/share/ri/1.8/system

ここまでの作業で、rubyのソースコード(.cおよび.rbファイル)からriドキュメントが生成されます。


ステップ3:riでマニュアルを読む

あとは、riの使い方です。最初は、ここで説明している基礎的なコマンドだけで十分だと思います。

書式説明
ri クラス名ri Arrayクラスのドキュメントを参照する
ri クラス名.メソッド名ri File.basenameクラスメソッドのドキュメントを参照
ri クラス名#メソッド名ri Hash#rehashインスタンスメソッドのドキュメントを参照
ri searchキーワードri searchto_yamlキーワードで検索
ri -l参照可能な項目をリスト表示

ほかにも便利な使い方がありますが、最低これだけ知っていれば困らないかと。