けいじゅ@今はフリー(^^;;です.
ローカルクラス(モジュール定義)に関して問題と思われるものを発見しました.
以下のプログラムを見て下さい:
class Bar
def Bar.bar
print "Bar1\n"
end
end
class Foo
class Bar
def Bar.bar
print "Bar2\n"
end
end
end
Bar.bar
意図としては,
Baz
Foo
Foo::Baz
の3つのクラスを定義しているつもりなのですが, 実際に実行してみると:
Baz
Foo
だけが定義され, Foo::Baz部分はBazの再定義となっています. class Bazは
Bazがすでに定義されていると, それを再定義する仕様になっていますので,
仕様上はこの動作で正しいのですが, これだとローカルクラスを定義する意味
がほとんどなくなってくると思います.
どう思いますか?
__
.........................................石塚 圭樹@今はフリー(^^;;...
------->>また, アドレス変わりました!! e-mail: keiju / bc.mbn.or.jp <<---