あおきです。

  In mail "[ruby-ext:01562] Re: require 'dir/...'?"
    matz / zetabits.com (Yukihiro Matsumoto) wrote:

> まつもと ゆきひろです

> |  ファイル名の呼び出し順は仮定しない方がよいと思います。
> 
> こっちは(気持ち悪いけど)まだ理解できます。
> 
> でも、将来ぜったい引っかかる人がいるんであまり導入したくない
> 制約だと思います。

それならば、ぼくは all に追加するのを忘れてひっかかったことが
ありました。これからもきっと忘れます(きっぱり)。なので、短所は
どちらにもあるということではないでしょうか。

別メールにも書いたように、全然違うファイルをメンテするより
同じファイル内でそのファイルの依存関係をメンテするほうがずっと
楽ですから、foo/* のほうがむしろうっかり間違いは減ると思います。


> |  順番も排他もそれぞれのファイルで制御してもらえばいいのでは?
> 
> が、私が「排他」でイメージしたものに|は「foo/*ではrequireさ
> せたくないが、明示的にファイル名を指定した場合にはrequireさ
> せたい(foo/debug.rbって例が出てましたね)」ってものを含むんで、
> 「$" を見れば」ってのは解決になってないかも。

こちらは行き違いメールに書いたので略。


> それに foo/* は美しくないってのはいぜん残ってます。

それでは前の意見のあとのほうの、

  require 'foo'

を

  foo.rb → foo.so → foo/*

の順番に解釈するという案はどうでしょう? foo/* の機能が実装
されるなら require 'foo/*' はなくても(ぼくとしては)問題なしです。

また foo.rb と foo/ が別ライブラリで衝突するというのは、どなたか
おっしゃっていたように、まずありえないと考えられます。ですから
foo.rb が偶然あったがために foo/* がロードされなくてハマる、という
こともまずありえないと考えられます。
-------------------------------------------------------------------
青木峰郎