From: Akinori MUSHA Date: 2009-11-12T21:22:36+09:00 Subject: [ruby-dev:39674] Re: [Feature:trunk] hide the internal of anonymous Enumerator --pgp-sign-Multipart_Thu_Nov_12_21:21:58_2009-1 Content-Type: text/plain; charset=ISO-2022-JP At Thu, 12 Nov 2009 20:53:54 +0900, Yusuke ENDOH wrote: > [ruby-dev:39665] より引用。 > > 2009年11月12日0:38 Akinori MUSHA : > >  Yielder/Generator という組合せによる実装は実験的なもので、特に > > 後者は外部に公開する必要がないので敢えて伏せていました。公開仕様に > > すると制約になるので、需要が生じるまでは非公開の方がいいのではない > > でしょうか。 > > ということなら、なるべく内部実装をユーザから見えないようにしませんか? > > - Enumerator::Generator を匿名クラスにする (ARGF のように) > - Generator.new や Yielder.new を禁止する > - Enumerator#inspect で Generator の存在は隠す > > とするパッチを書いてみました。どうでしょう。  そこまでする必要はないかと思っていたんですが、どうでしょうね。 いじられてSEGVするようなものでなければ、デバッグのためには隠し すぎない方がいいんじゃないかとか、互換性は保証しないけどそれを 敢えて使って実験的なライブラリを書く自由までは奪いたくないとか、 そういう考えもあるんですよね。まあ、一言で言うと私の都合ですが。  とはいえ、undocumentedであっても見えると一般利用されて、それが メジャーになると、互換性を崩すとruby側に文句が来たりするかなあ。 難しいですね…。 -- Akinori MUSHA / http://akinori.org/ --pgp-sign-Multipart_Thu_Nov_12_21:21:58_2009-1 Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (FreeBSD) iEYEABECAAYFAkr7/eYACgkQkgvvx5/Z4e44qwCgzCPd3WrHC5uWDRxkE6OoEJ7l Cz8AoN2jaFVs8PRH3tqzOzSDf7TJu1rU =oXhq -----END PGP SIGNATURE----- --pgp-sign-Multipart_Thu_Nov_12_21:21:58_2009-1--