«前の日記(2006-02-26) 最新 次の日記(2006-02-28)» 編集

Matzにっき

迷惑メール対策なら Dr.WEB
『Dr.WEB メールデーモン』、MTA 用迷惑メール対策製品です!


2006-02-27 [長年日記]

_ [Ruby] private問題、その後

メソッドキャッシュの件でひっかかっていた部分を取り除いて動くようにしてみた。なかなか快適に動く。

しかし、実際に既存のプログラムを動かしてみると、関数形式で呼び出していてもオーバーライドされることを期待しているコードはかなり多い。これらに全部「self.」を付けるというのもしんどい話だなあ。

うーん、関数として呼ばれる(外部に見えない)手続きという機能はぜひ実現させたいのだがな。今回の修正コードは別に捨ててもかまわないんだけど、アイディアは捨てたくない。

いっそ「_local」という名前のメソッドはローカル(スーパークラスも見ない、オーバーライドもされない)ということにするか。これでも動かなくなるコードはあるが(rssとか動かない)、「private全部捨て」よりはマシか。

もうちょっと考えてみよう。

_ 復刊ドットコム

先日来、復刊希望をウォッチしているが、なかなか票が伸びない。明示的に宣伝するのにも少々ためらいがあるが、いい本が手に入らないのも悲しいことだ。

共感して下さる方は投票を。

投票しても復刊されるとは限らないんだけど、希望にはなる、かも。

本日のツッコミ(全3件) [ツッコミを入れる]
_ Gimite (2006-02-27 21:37)

localというvisibilityを導入して、関数形式でメソッドが呼ばれたときは「localメソッドを探索(そのクラスのみ)→見つからなかったらその他のメソッドを探索」というのは…効率が悪くなるから駄目でしょうか?

_ まつもと (2006-02-28 09:53)

効率についてはメソッドキャッシュがあるんで多分大丈夫なのですが、どのメソッドが呼ばれるのかひと目で分からなくなりそうな不安があります。<br>でも、試してみるかな。

_ まつもと (2006-03-02 00:09)

賛同していただき嬉しい限りです。<br>でも、「_」っていうprefixはあんまりよくないみたいです。<br>なんかいいのがあるかなあ。

お名前:
E-mail:
コメント:
[]

«前の日記(2006-02-26) 最新 次の日記(2006-02-28)» 編集

RSS feed meter for http://www.rubyist.net/~matz/ Creative Commons License This work is licensed under a Creative Commons License.