[#41630] [ANN] langhelp-0.9.0 — rubikitch@...
るびきちです。
7 messages
2005/12/01
[#41654] Hashを継承したクラスの利用方法について — saitani <cxj15527@...>
お世話になります。
9 messages
2005/12/04
[#41720] Tempfile#== — とみたまさひろ <tommy@...>
とみたです。
5 messages
2005/12/21
[#41728] ruby 1.8.4 released — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
9 messages
2005/12/24
[ruby-list:41725] Re: Tempfile#==
From:
Yukihiro Matsumoto <matz@...>
Date:
2005-12-23 00:10:46 UTC
List:
ruby-list #41725
まつもと ゆきひろです
In message "Re: [ruby-list:41724] Re: Tempfile#=="
on Fri, 23 Dec 2005 04:23:02 +0900, OOTANI TAKASHI <tksotn@anet.ne.jp> writes:
|> |Tempfile オブジェクトを == で比較すると false になってしまいますが、
|> |そういうものなのでしょうか。
|>
|> オリジナルに転送しちゃうんでオリジナルとTempfileが一致しない
|> ということのようです。
|
|すいません。ここの理屈がよくわかりません。
TempfileはFileをwrapしているDelegatorなので、==は内部のFile
オブジェクトへ転送されます。仮にaをTempfile、bを内部のFileオ
ブジェクトとすると
a == a
が呼び出されたとき、==メソッドは内部のFileオブジェクトに転送
され
b == a
が実行されます。しかし、bはaのことを知らないので、falseにな
るということです。これに対応するためには
* Delegator側で==を特別扱いする
* IO#==でto_ioでも使って比較する
などの対応が考えられます。今回は前者を採用して対応してみまし
た。
|何か見落としているんだとは思いますが、わかりません。
|「オリジナル」の意味するところもわかりません。
Delegatorであることが分かれば分かるんじゃないかと。