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