From: SASADA Koichi Date: 2007-02-06T02:11:46+09:00 Subject: [ruby-dev:30273] Re: exception on Singleton  ささだです. SASADA Koichi wrote: >  このようなプログラムが動かなくなっているようです。多分、ivar2 関係で、 > Singleton で使う @__mutex__ という変数が nil になっているので、その辺に > 理由があるんじゃないかと思います。  最初,この辺は ivar2 の実装がまずいのかな,と思ったんですが,ちょっと よくわかりませんでした.なんとなく,意図した挙動になっているような気もし ます.  実装が正しいとして,対処としては, 1. Singleton の実装を変える(@__mutex__ を @mutex__ にする,など) 2. @_v でクラスローカルインスタンス変数とするのをやめる になるかと思います.どうしたもんでしょうか.1 の対処で動くことは確認しま した.  個人的には,@_v のようなインスタンス変数は既に沢山あるので,@_v 以外の 選択肢を模索する(たとえば,@.v や @v!,@v@ とか)のもありなのではないか なと思うのですが,どうでしょうか.Matzにっきで散々繰り返された話題で,い まさら反対意見言うなよ,ということなのかもしれませんが.個人的には @.v がいいです.で,$.v がスレッドローカル変数.@v@と$v$の組もいいか. -- // SASADA Koichi at atdot dot net