From: Akinori MUSHA Date: 2008-12-10T12:53:38+09:00 Subject: [ruby-dev:37340] Re: [Feature:1.9] Enumerator#inspect --pgp-sign-Multipart_Wed_Dec_10_13:00:22_2008-1 Content-Type: text/plain; charset=ISO-2022-JP At Thu, 4 Dec 2008 11:28:45 +0900, I wrote: > At Wed, 3 Dec 2008 20:36:41 +0900, > Yusuke ENDOH wrote: (snip) > > - rewind は実際には rewind せず、種のメソッドを呼び直すという意味である > > - それにも関わらず rewind という名前が付けられている > > - Enumerator の種となるメソッドは呼び直すと最初から列挙し始めるという > > 性質 (つまり Array#each のようなの) が期待されている > > - それ自体が副作用を持つようなメソッドで Enumerator を作るのは自己責任 > > > > という雰囲気でした。蛇足でした。 > > そうですね。IO系のように、オブジェクト内部に走査中の位置が保持 > されているものは rewind できていませんね。1.8 と 1.9 で挙動が > 異なっているのもまずいかも。 > > オブジェクトの respond_to?(:rewind) が真だったら rewind を呼ぶ > ようにすべきなのかな。  そんな気がしたので、 trunk ではそのようにしました。 -- Akinori MUSHA / http://akinori.org/ --pgp-sign-Multipart_Wed_Dec_10_13:00:22_2008-1 Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEABECAAYFAkk/PtYACgkQkgvvx5/Z4e7ZpwCgmuvlCSI+BhefJrwBNtkLnAYt By0AnjamMXm6Od73yH9oH1B1helA/PFM =g0et -----END PGP SIGNATURE----- --pgp-sign-Multipart_Wed_Dec_10_13:00:22_2008-1--