[#39845] Re: [ruby-cvs:33238] Ruby:r26022 (trunk): * marshal.c (w_object): dump instance variables when using — Tanaka Akira <akr@...>
2009/12/5 <nobu@ruby-lang.org>:
3 messages
2009/12/06
[#39846] [Bug #2447] reduce GC pressure by symbol table without String instance — Yusuke Endoh <redmine@...>
Bug #2447: reduce GC pressure by symbol table without String instance
5 messages
2009/12/06
[#39847] stable find.rb — Tanaka Akira <akr@...>
ディレクトリを再帰的にたどった結果を比較することがあったのですが、
5 messages
2009/12/06
[#39851] Time.now + str と #to_r — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
9 messages
2009/12/07
[#39852] Re: Time.now + str と #to_r
— "NARUSE, Yui" <naruse@...>
2009/12/07
成瀬です。
[#39855] [RubySpec #2460] RubySpecでFiberのSpecがおちる — 三村 益隆 <redmine@...>
RubySpec #2460: RubySpecでFiberのSpecがおちる
4 messages
2009/12/08
[#39863] [Feature #2471] want to choose a GC algorithm — _ wanabe <redmine@...>
Feature #2471: want to choose a GC algorithm
8 messages
2009/12/09
[#39874] faster Enumerator#each by rb_block_call with current block — Yusuke ENDOH <mame@...>
遠藤です。
7 messages
2009/12/13
[#39894] Re: faster Enumerator#each by rb_block_call with current block
— Yukihiro Matsumoto <matz@...>
2009/12/19
まつもと ゆきひろです
[#39897] Re: faster Enumerator#each by rb_block_call with current block
— Yusuke ENDOH <mame@...>
2009/12/20
遠藤です。
[#39912] [Bug #2522] Segmentation Fault is occurred on r26158 by running rubyspec — Kenta Murata <redmine@...>
Bug #2522: Segmentation Fault is occurred on r26158 by running rubyspec
4 messages
2009/12/23
[ruby-dev:39925] Re: Time.now + str と #to_r
From:
Kenta Murata <muraken@...>
Date:
2009-12-24 11:26:49 UTC
List:
ruby-dev #39925
むらたです。
On 2009/12/24, at 9:28, Yukihiro Matsumoto wrote:
> In message "Re: [ruby-dev:39915] Re: Time.now + str と #to_r"
> on Thu, 24 Dec 2009 09:06:06 +0900, Kenta Murata <muraken@gmail.com> writes:
>
> |> その場合、convert_toとかcast_toとかのメソッドの実装の中で、ク
> |> ラスごとに条件分岐するのであれば、新たに数クラスが増えた場合
> |> に対応するのが難しくなるのではないでしょうか。実装としてダブ
> |> ルディスパッチを使えば、結局はなんらかのメソッド名を考える必
> |> 要があるのではないかと。
> |
> |自分が知らないクラスへの変換時にダブルディスパッチで呼び出すクラスメソッドを
> |convert_from という名前に決めれば、この場合については対称的になって美しいと思います。
>
> なんとなく理解できた気がしないので、もうちょっと説明してもら
> えませんか。
>
> 仮にRationalという組み込みでないクラスがあったとして、
>
> r = 2.convert_to(Rational)
>
> は具体的にはどんな処理をするのでしょう? ただし、Rationalは組
> み込みではないので、2はRationalというクラスについて知らないこ
> ととします。
>
def convert_to(target_klass)
case target_klass
when 知ってるクラス1
変換処理1
when 知ってるクラス2
変換処理2
when ...
...
else
target_klass.convert_from(self)
end
end
こんなメソッドを想定していました。
--
Kenta Murata
OpenPGP FP = FA26 35D7 4F98 3498 0810 E0D5 F213 966F E9EB 0BCC
本を書きました!!
『Ruby 逆引きレシピ』 http://www.amazon.co.jp/dp/4798119881/mrkn-22
E-mail: mrkn@mrkn.jp
twitter: http://twitter.com/mrkn/
blog: http://d.hatena.ne.jp/mrkn/