なかだです。

At Mon, 25 Jun 2001 23:22:17 +0900,
matz / zetabits.com (Yukihiro Matsumoto) wrote:
> |  あるいは、PLATFORM は自動的に補うことにして
> 
> 自動的に補うってのはいいかもしれませんね。THIN_ARCHLIBとかは
> どうするかとか考えないといけませんが。

  んじゃ、こういうのでは。以前は、

    ファイル形式 > std/site > バージョン > アーキテクチャ

だったものが、今は

    std/site > バージョン > アーキテクチャ > ファイル形式

になってるわけですが、

    std/site > バージョン > ファイル形式 > アーキテクチャ

にするということで。

RUBYLIBDIR = "/usr/local/lib/ruby"
$LOAD_PATH = [RUBYLIBDIR+"/site_ruby/1.6",RUBYLIBDIR+"/1.6",RUBYLIBDIR]
$LOAD_PREFIX = [RUBY_PLATFORM+"/", RUBY_THIN_ARCH+"/",""]
$LOAD_SUFFIX = [".rb",".so"]

f = nil
catch(:found) do
  $LOAD_PATH.each do |path|
    $LOAD_SUFFIX.each do |sfx|
      $LOAD_PREFIX.each do |pre|
	throw(:found, f) if File.exist?(f = pre+feature+sfx)
      end
    end
  end
  nil
end

  今までなかったサイトローカル&バージョン独立&アーキテクチャ依
存のディレクトリが有効になっちゃいますが。 

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦