まつもと ゆきひろです
In message "[ruby-list:14210] Re: private inner class (Re: Re: class def in class def)"
on 99/05/11, "NAKAMURA, Hiroshi" <nakahiro / sarion.co.jp> writes:
|> |inner classって呼んだりしてます.
|
|すすすすいません,なんか偉そうな...^^;
|「なひは,」を先頭に補ってください.
いやあ,そんなに悪い用語じゃないと思いますけどねえ.
|ところで...
|
|class Foo
| Baz = 1; baz = 2
| class Bar
| Baz = 3; baz = 4
| p Baz, baz
| end
| p Baz, baz
|end
|p aFoo = Foo.new()
|
|において,Bazについてだけ
|「warning: already initialized constant Baz」と指摘する
|(ただしちゃんとスコープはネストする)のは,
|想定されている動作でしょうか.
これは想定されている(そうしようと思ってそうなっている)動作で
す.ただし,「望ましい姿」とか「理想の姿」とかだと違うかも.
内側のクラス/モジュールは外側のクラスの定数が見えるので,同
名の定数を定義すると外側の定数を隠しちゃうんですよね.それを
嫌っての警告なんですが,たとえばネストした変数で外側をシャド
ウする言語で警告を出さないものはいくらでもあるわけで,その点
から考えると警告を出す必要はないのかも.
まつもと ゆきひろ /:|}