--pgp-sign-Multipart_Fri_Feb__6_12:05:10_2009-1
Content-Type: text/plain; charset=ISO-2022-JP

At Fri, 6 Feb 2009 00:58:59 +0900,
Yusuke ENDOH wrote:
> with_index はそれで問題ないんですが、遺憾ながら each_with_index は引数を
> each に丸投げすると言う仕様になっているので、互換性の問題があります。
>
> $ ruby19 -rstringio -e
> 'StringIO.new("foo|bar|baz").each_with_index("|") {|s, i| p [s, i] }'
> ["foo|", 0]
> ["bar|", 1]
> ["baz", 2]
>
> どうするのが一番幸せでしょうね。

 ああ、その仕様は忘れていました。

 しかし、 each_with_index_from という名前は長すぎると思います。
また each_with_index 自体、 Enumerator が導入された今となっては
each.with_index よりも若干実行効率がよいことを除けば存在意義が
薄いですね。

 ここは、 with_index にだけ引数を追加して each_with_index は
そのままにしてはどうでしょう。

StringIO.new("foo|bar|baz").each("|").with_index(1) { ... }

 ちょっと凝ったことをしたければ Enumerator 経由で行ってね、
というスタンスは悪くはないと思います。

--
Akinori MUSHA / http://akinori.org/

--pgp-sign-Multipart_Fri_Feb__6_12:05:10_2009-1
Content-Type: application/pgp-signature
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (FreeBSD)

iEYEABECAAYFAkmLqOYACgkQkgvvx5/Z4e5zWwCg2yt7Wa7fhm12c4y1yz57GPNl
Md8AnjwdKS34YjDh8aE98uIi82u/vHi6
=lAn6
-----END PGP SIGNATURE-----

--pgp-sign-Multipart_Fri_Feb__6_12:05:10_2009-1--