遠藤です。

2009/02/06 0:43 Akinori MUSHA <knu / idaemons.org>:
> At Thu, 5 Feb 2009 23:18:49 +0900,
> Yusuke ENDOH wrote:
>> with_index の開始インデックスを指定できるバージョンがあると便利だと
>> 思います。
>>
>>
>> $ ./ruby -e 'p %w(a b c).map.with_index_from(1) {|c, i| [c, i] }'
>> [["a", 1], ["b", 2], ["c", 3]]
>
>  新しいメソッドを追加するのは大仰な気もします。既存の
> (each_)with_index に省略可能引数を追加するのはどうでしょう。
>
>        with_index(offset = 0)
>
> index という名前から今後増分等を追加することは考えにくい
> ので、唯一の引数が初期値(オフセット)というのは納得できるの
> ではないかと思いますが、どうでしょう。


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]

どうするのが一番幸せでしょうね。

-- 
Yusuke ENDOH <mame / tsg.ne.jp>