あおきです。

  In mail "[ruby-list:28386] Re: [Q] jcode の局部適用"
    HISANO Kozo <mail / seventhree.com> wrote:

> おはようございます。久野です。お返事ありがとうございます。

> >   remove_const :String

> > ってのもあります。
> 
> 「合法手段」があるならぜひ使いたいものです。しかし,全体を
>   module Foo
>     ...
>   end
> と囲んでしまえばうまく行ったのですが,トップレベルで同等の機
> 能を実現することはできるのでしょうか。

あ、そか、すみません忘れてました。二重に間違ってますね。

class Object
  remove_const :String
end

じゃないと意味が通じないうえに、組み込みクラスは消せないみたい
です。ごめんなさい。

やっぱり警告無視で代入するしかないですね。


> ついでですが,変数を削除するにはどうするのでしょうか。

インスタンス変数は Object#remove_instance_variable です。
クラス変数は Module#remove_class_variable 。ローカル・グローバル
は無理…だったかな。

んでも、これもわざわざ消すこともないと思います。そういう場合は
Hash 使ったりするほうが、たいていの場合きれいになるので。
-------------------------------------------------------------------
青木峰郎