永井@知能.九工大です.

From: Nobuyoshi Nakada <nobu / ruby-lang.org>
Subject: [ruby-dev:30434] Re: fail to autoload at $SAFE==4
Date: Tue, 27 Feb 2007 11:00:40 +0900
Message-ID: <200702270200.l1R20cIA006642 / sharui.nakada.kanuma.tochigi.jp>
> ということで考えたのが、以下の二つの案です。
> (1) safe_levelを指定して探してくれるrb_provided()を追加する
> (2) rb_provided()は拡張ライブラリについてはあきらめる
> 
> rb_provided()はautoload関連でしか使われていないので、とりあえず
> は(2)でいいのではないかと思います。拡張ライブラリだけロードされ
> た時点では未定義の定数がdefined?やautoload?で真を返すようになり
> ますが、実際に参照されればconst_missingになるので、許容範囲では
> なかろうかと。

「(1) であれば autoload 定義時の $SAFE で呼べるので理想的ではあるが,
実装の効果と手間とを考えると...」という理解でいいでしょうか?
よく分かってないのですが,(2) の仕様で「ギャッ」というケースは
ないのでしょうか?

# 私が現在直面しているケースでは問題ないようですし,
# 私自身は (2) でかまわないのですが...
-- 
                                       永井 秀利 (九工大 知能情報)
                                           nagai / ai.kyutech.ac.jp