Logan Capaldo schrieb: > > You may want to write your own inject for this. > > def inject_with_index(*args) > ... > end > > Then you can call it less weirdly: > > ["a", "b", "c"].inject_with_index("") { |a, b, i| a << "#{b}@#{i}" } > #=> "a@0b@1c@2" > > ["a", "b", "c"].inject_with_index do |a, i1, b, i2| > [a + b, i1 + i2] > end > #=> ["abc", 3] Hi Logan, note you can have almost the same syntax with the normal inject: arr_iter.inject("") { |a, (b, i)| a << "#{b}@#{i}" } # => "a@0b@1c@2" arr_iter.inject { |(a, i1), (b, i2)| [a + b, i1 + i2] } # => ["abc", 3] Regards, Pit