[前][次][番号順一覧][スレッド一覧]

ruby-reference-manual:285

From: Minero Aoki <aamine@l...>
Date: Sun, 07 Jan 2007 09:38:22 +0900 (JST)
Subject: [ruby-reference-manual:285] Re: requireするライブラリの存在について

青木です。

  In mail "[ruby-reference-manual:283] Re: requireするライブラリの存在について"
  sheepman <sheepman@s...> wrote:

> こんばんは、sheepman です。
> 
> 確認ですが、リファレンスには実際に require されているファイル名を
> なんでもかんでもを書くのではなくて、「独立したライブラリとして使用されることが
> 期待されているもの(例えば、 webrick/cgi など)」でなおかつ「同じライブラリ内のファイル」
> が require されていたら、リファレンスにも require を書くということですよね。

前者はそのとおりです。

後者は、結果としてそうなることが多い (ほとんどである) と思いますが、
必須条件とは考えていません。具体的にどういうライブラリがあるかは
すぐには浮かびませんが、Ruby はだいたい予想の上を行ってくれるので、
きっと例があると思います。

そうか、例えば resolv-replace と resolv なんかは非常に関係が密
なので、require 書いてもいいかとは思いますね。これが別のライブラリ
と言えるかどうかは微妙ですが。


> だから、webrick/httpstatus みたいに独立したライブラリとして使われないものは、
> 実際のコードで require されていたとしても、リファレンスには書かないんですよね。

そのとおりです。
独立していないライブラリは、ライブラリとして登録したり require したり
せず、#@include で結合するのが望ましいと考えています。

あ、そうか。誤解のあるところがわかりました。岩月さんのメールに返事を
したときに想定していたのは、「まだファイルは存在していないけど、いずれ
登録されるはずのライブラリ」のことです。例えば webrick/cgi.rd をまだ
書いてないけど、これはそのうち書くから先に書いておこう、ということです。
将来にわたって決して書かれることのないライブラリ (webrick/httpstatus
とか) にも require を書くという意味ではありません。


> ついでに、リファレンスに require を書く目的も教えていただけると幸いです。

ユーザが、あるライブラリを require したときに使えるクラスの一覧を出す
ためです。例えば require 'tk' と書いたら tk ライブラリの一連のクラス
はすべて使えるようになるわけですが、src/tk.rd 自体にはその一部しか書
いてありません。つまり、tk 以下のライブラリのページを全部見ないと使える
クラスがわからないわけです。それでは不便なので、require を書いといて、
自動的にクラス一覧を計算できるようにしよう、ということです。

--
青木峰郎

--
ML: ruby-reference-manual@m...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

       278 2007-01-06 14:26 [don@n...            ] requireするライブラリの存在について     
       279 2007-01-06 14:31 ┗[aamine@l...         ]                                       
       280 2007-01-06 14:46  ┣[don@n...            ]                                     
       283 2007-01-06 16:51  ┗[sheepman@s...       ]                                     
->     285 2007-01-07 01:38   ┗[aamine@l...         ]                                   
       286 2007-01-07 03:14    ┣[aamine@l...         ]                                 
       291 2007-01-07 04:57    ┃┗[don@n...            ]                               
       297 2007-01-07 07:00    ┃ ┗[aamine@l...         ]                             
       302 2007-01-07 08:52    ┃  ┗[don@n...            ]                           
       287 2007-01-07 03:52    ┣[aamine@l...         ]                                 
       288 2007-01-07 04:24    ┃┗[sheepman@s...       ]                               
       294 2007-01-07 06:37    ┃ ┗[aamine@l...         ]                             
       300 2007-01-07 07:17    ┃  ┣[okkez000@g...       ]                           
       303 2007-01-07 08:54    ┃  ┣[don@n...            ]                           
       309 2007-01-08 13:40    ┃  ┗[sheepman@s...       ]                           
       310 2007-01-12 14:31    ┃   ┗[aamine@l...         ]                         
       311 2007-01-12 15:55    ┃    ┗[sheepman@s...       ]                       
       292 2007-01-07 05:00    ┣[moriq@m...          ] tkextlib setup.rb (Re: requireするライブラリの存在について)
       298 2007-01-07 07:00    ┃┗[aamine@l...         ] Re: tkextlib setup.rb         
       293 2007-01-07 05:20    ┗[don@n...            ]