From: Yukihiro Matsumoto Date: 2007-02-14T16:25:11+09:00 Subject: [ruby-dev:30333] Re: exception on Singleton まつもと ゆきひろです In message "Re: [ruby-dev:30332] Re: exception on Singleton" on Wed, 14 Feb 2007 15:58:19 +0900, SASADA Koichi writes: | @_v をクラスローカルインスタンス変数にするという件を考えていたんです |が、ファイルローカルなものにするというのはだめかなぁ、と思うようになりま |した。つまり、現在の実装は suffix にクラス名を付ける(@_v -> @_v/C)よう |な感じですが、suffix にファイル名をつける(@_v/t.rb)ようなイメージで |す。ファイル名ではなく、ファイルコンパイル時に一意の値であれば問題ありま |せん。 | | 根拠は、まぁそのファイルを弄っている人は、どのクラスにどのインスタンス |変数が付いているかくらいは多分把握しているだろう(それに気づかずオーバー |ライドすることは無いんじゃないかなぁ)、という予測です。 | | Singleton のような場合はこれで問題なくなり、また @__mutex__ のようなイ |ンスタンス変数はファイル外で定義したコードからはアクセスできなくなります。 | | どうやっても他のファイルからはアクセス出来なくなるので、処理を挿入する |ということがやりづらくなり、まずい気もします。 | | どうでしょうか。 どうなんでしょうね。名前空間の軸としてクラス/モジュールのほ かにファイルってのを導入するのはコトを必要以上に複雑にするよ うな気がします。直感に過ぎないんですけどね。現時点では、「あ まり強くない反対」というところでしょうか。 まつもと ゆきひろ /:|)