From: Hidetoshi NAGAI Date: 2007-02-27T11:45:40+09:00 Subject: [ruby-dev:30435] Re: fail to autoload at $SAFE==4 永井@知能.九工大です. From: Nobuyoshi Nakada 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