From: nobuyoshi nakada Date: 2005-10-13T15:34:58+09:00 Subject: [ruby-dev:27421] Re: selector namespace なかだです。 At Thu, 13 Oct 2005 14:11:48 +0900, Shugo Maeda wrote in [ruby-dev:27420]: > >>usingが効力を及ぼす範囲が、静的なスコープであるとします。 > >>具体的には、ファイル単位か、クラス・モジュールの単位がよいのでは > >>ないかと思います。 もうひとつ思いついた疑問点は、スコープの外側のusingは影響するか、 ということですが class Foo def bar$zot end end using bar module Bar foo = Foo.new foo.zot(1) using baz foo.zot(2) end a) 見える。zot(1)は bar$zot -> global$zot の順、zot(2)は baz$zot -> bar$zot -> global$zot の順で探す b) 見えない。zot(1)は global$zot だけ、zot(2)は baz$zot -> global$zot の順で探す c) スコープでusingが現れると外側のusingは見えなくなる。zot(1)は bar$zot -> global$zot の順、zot(2)は baz$zot -> global$zot の順で探す まぁaですかね。 > > また、条件文の中でusingを使った場合はどうなることを想定してます > > か。 > > 個人的には、ファイル単位、もしくはクラス・モジュール定義単位くらい > の粒度で使えれば十分だと思いますので、条件文の中で使えなくてもいいん > じゃないでしょうか? エラーにするということですか? それとも BEGIN{p true} if false のように実行文とは無関係に影響する? -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦