From: Yukihiro Matsumoto Date: 2007-02-15T15:19:54+09:00 Subject: [ruby-dev:30351] Re: class local instance variable まつもと ゆきひろです In message "Re: [ruby-dev:30349] Re: class local instance variable" on Thu, 15 Feb 2007 14:14:26 +0900, SASADA Koichi writes: | 私の感覚だと、今まで変数名の一部として利用可能だった "_" が、特殊な記 |号として認識されることのほうが、ちょっとどうなんだろう、と感じました |("@_" でひとつ、だからこれにはあたらない、ということかもしれません |が)。感じで喋ってもしょうがないか。@(v) だと、なんとなく限定的な感じが |して良いかな、と思って先の投稿になりました。 前にも書いた通り「ちょっとどうなんだろう」という感覚を否定は しませんが、代案としての「@(v)」には賛成できません。 | ちなみに、延長線上でブロックローカル変数の prefix を _(つまり、_i は |強制的にブロックローカル)ってのはどうなんでしょうね。":=" operator を設 |けるよりは好みかもしれない :) ブロックローカル変数はネストすることを考えるとあんまり役に立 たないような気がしますねえ。どうなんだろう。 | この話、たとえば Singleton モジュール内で利用するインスタンス変数は |@singleton__mutex__ のようにしました(あと、delegator も)。これは、本質 |的には今回の @_v で解決したかった問題(無関係なところからはアクセスして |ほしくない、という要求)な気がするんですが、特異クラスとかその辺の関係 |で、うまいこと解決出来ていませんでした。実は、解決策はもっと別にあるん |じゃないか(現状だと naming convention か)、と思うんですが、気のせいか |なぁ。Singleton が特殊なだけかもしれませんが。はてさて。 ちょっと考えてみます。なにかが足りなくてある状況で役に立って ないだけなのかもしれませんし。 | もっと賢い保守派(笑)の論客希望。RHGなどで直接話を聞く限り、この仕様 |を歓迎している意見って聞いたことが無いから、もっと色々意見が出るような気 |がします。 歓迎します。