- 60 名前:50 mailto:sage [2008/09/19(金) 11:05:33 ]
- >>53
丁寧なご説明、ありがとうございます。ですが、結局「気をつける」以外に無 いようで、少々残念です。 アンダースコアで始まるなどの特殊な変数名は、逆にフレームワーク側も衝突 回避を意図して多用している可能性があり、結局、変数名にプロジェクトごと のprefixをつけたり、 instance_variables でこまめに確認したりするしかな いように見えます。 しかしこれでは、グローバル変数しかなかった時代と変わらないと思います。 むしろ、メタプログラミングによって変数名やメソッド名がgrep検索できなく なったRubyコードでは、名前の衝突の危険性は増しているとすら思います。 PHP5には完全なprivateがあり、Pythonにはマングリングという仕組みがあり ます。Rubyにそれに類するものがないのは意外でした。 しかしRuby1.9でも変更される予定は無いようなので、実用的にはさほど困ら ないものなのかもしれません。 ruby -d は知りませんでした。活用させていただきます。 >>57 53さんもおっしゃるとおり、フレームワークに継承を強制される場合をお考え ください。 www.gesource.jp/weblog/archives/2007/06/rubyprotectedjavac.html > フレームワークを使っていると、知らないうちに基底クラスのメソッドをオー > バーライドしてしまい、予期せぬバグに悩まされたりします。
|

|