From: Yusuke ENDOH Date: 2009-02-06T00:58:59+09:00 Subject: [ruby-dev:37924] Re: [Feature:trunk] with_index_from 遠藤です。 2009/02/06 0:43 Akinori MUSHA : > 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