なかだです。

At Thu, 13 Oct 2005 11:57:20 +0900,
Shugo Maeda wrote in [ruby-dev:27417]:
> 基本的なコンセプトは、メソッド名を拡張して名前空間を利用
> できるようにするというものです。
> 名前空間と(修飾されていない)メソッド名の区切り文字を何に
> するかが悩ましいところ(::が自然ですが、他と衝突するので)
> ですが、ここでは仮に$を使うことにします(御推察の通りCLUから
> 取ったものです)。

拡張するのはメソッドの探索だけでしょうか。

> これだけでは、毎回名前空間を指定しないといけないので、あまり
> うれしさがありません。そこで、usingという予約語を導入して、
> 名前空間を省略できるようにします。
> 
> using bar
> foo = Foo.new
> foo.baz #=> Foo#bar$bazの呼び出し

つまり、このusingは定義の時には影響しないのか、ということです。
定義にも影響するとするなら、using bar; :baz は :bar$baz と等価
になるのでしょうか。

> usingが効力を及ぼす範囲が、静的なスコープであるとします。
> 具体的には、ファイル単位か、クラス・モジュールの単位がよいのでは
> ないかと思います。

クラス・モジュールのようなブロックを作る構文ではなく?  もしブロッ
クを作ることを許すとすれば、名前空間のネストも考えないといけな
いかもしれませんが。

また、条件文の中でusingを使った場合はどうなることを想定してます
か。

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