だいです

Re the message of ``[ruby-ext:01562] Re: require 'dir/...'?''...

matz / zetabits.com (Yukihiro Matsumoto):
> まつもと ゆきひろです
> 
> In message "[ruby-ext:01561] Re: require 'dir/...'?"
>     on 01/03/01, "Dai.K." <MAP2303 / mapletown.net> writes:
> 
> |> foo/* ってのはディレクトリfoo以下のファイルを全部requireするっ
> |> て意味ですよね。順番や排他を制御できないので(ファイル名をそ
> |> のために変えるのは本末転倒だし)、あまり気乗りしません。
> |
> |  ファイル名の呼び出し順は仮定しない方がよいと思います。
> 
> こっちは(気持ち悪いけど)まだ理解できます。
> 
> でも、将来ぜったい引っかかる人がいるんであまり導入したくない
> 制約だと思います。

  えぇと、順序を仮定しないという制約ですよね?
  ではべつに辞書順でも構わないです。


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

  サブディレクトリ掘って分離。じゃだめですか?
  foo/* で require するのは、あくまでライブラリの基本的なもの、デフォルトの
環境というイメージです。
  debug.rb の場合なら
    require 'foo/debug' if $DEBUG 
  というコードを、foo/config.rb あたりに書くでしょう僕は。
  変数触るのいやなら直接 require 'foo/debug' してもらえばいいし。


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

  これは require 'foo' で .rb .so に続いて foo/ を探せば問題ないですよね?