まつもと ゆきひろです

In message "[ruby-dev:13523] Re: 無名クラス/モジュール"
    on 01/06/09, Koji Arai <JCA02266 / nifty.ne.jp> writes:

|> 代入という行為をフックしたくないからです。
|
|うーん、でも多重代入などでも仕掛けは色々あるし、
|# 意味が違うかな?

代入そのものに対するフックは大域変数にしかないです。

|グローバル変数だと処理のフック(代入が代入以上の意味を持つ)を
|許してますよね?
|# グローバル変数は特殊用途だから許容しているとも言える?

そうですね。

|ということは代入時にクラス名を決定すべきなのだと思いますが、
|いかがなものでしょう?

しかし、代入した時点で名前が決定するとは限らないわけで(たと
えば定数が定義されたモジュールもまた名前がなかったりする場合)、
そうするとそこまでする理由はあんまりないかなあって思ったりし
てます。

 a = Class.new
 a.class_eval{
   Foo = Class.new
   p Foo
 }
 Bar = a
 p Bar::Foo

うーん、どんなもんだか。


                                まつもと ゆきひろ /:|)