石井です。

Yukihiro Matsumoto writes:
 > えーと,CPPの場合サーチするのはカレントディレクトリです.で,

確認しました?
私は、むかーし自分の作ったアセンブラに include 機能をいれたときに
CPP と比較するために CPP のサーチパスを調べたことがあります。
今回、お願いするに当たってもう一度調べましたが同じ結論です。
「CPP は、include する側のプログラムソースが存在するのと
  同じディレクトリを起点に検索してます(相対パスの場合)」

いずれにしろ

 > 現状のrubyもカレントディレクトリは $LOAD_PATH に入ってます.
 > が,石井さんの要求は「プログラムが存在するのと同じディレクト
 > リを検索したい」ですよね.

このお願いは既に取り下げていますので、(^_^;
以下は、お願いじゃあなくて、unix 的かどうかの雑談です。(^^;


 > これは /usr/bin/cpp の動作時に /usr/bin に存在する設定ファイ
 > ルを読みに行くようなもので,やはりUNIX的ではないと思います.

その対比は私のイメージと違っています。

まつもとさんの主張は
   /usr/bin/cpp というプログラムが、/usr/bin をサーチにいくのは UNIX的ではない
ですが、それは認めますが、それが即
   /xxxx/yyy/rubyscript というプログラムが /xxxx/yyy/をサーチにいくのは、、
という対比になるのは、(そういう対比もあるだろうけど)ちょっと違います。

cpp はソースプログラムではないけど ruby-script はソースプログラムでもあるので、
   ruby は /xxxx/yyy/rubyscript というソースプログラムを読む時に
   /xxxx/yyyy をサーチパスにいれる。(現状とちがいますけど)
というのが
   cpp は /xxxx/yyy/zzzz.c というソースプログラムを読む時に
   /xxxx/yyyy を include "X" のサーチパスにいれる。(現状このとおりのはずです)

というわけです。こういう対比なら cpp とおなじになるでしょう?

 > /usr/local/lib/ruby/site_ruby とかに置くってわけにはいかない
 > んでしょうかね.

/usr/local/ の下が LAN 上で NFS で共有されていて、システム管理者しか
変更できないという状況を考えて見て下さい。
/usr/local/lib/ruby/site_ruby のパーミッションをシステム管理者に開けておいて
もらうという解もありますが、杓子定規なシステム管理者だとか、システム管理者が
ruby に理解を示してくれないとか、、自由にならないケースもあるということで。

-- 
                     ┌─石井  毅────────────────────┐
                     └──isii / harmony.co.jp──isii@mirage.linc.or.jp─┘