石井です。 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─┘