From: Akinori MUSHA Date: 2009-02-06T12:04:30+09:00 Subject: [ruby-dev:37928] Re: [Feature:trunk] with_index_from --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--