Adding every last element in an array of arrays -rails 3

i have an array of arrays such as:-

 a=[["product1", "size1", "color1", "quantity1"],["product2", "size2", "color2", "quantity2"],["product3", "size3", "color3", "quantity3"]]

Now the above Array of arrays has quantity as last element in every array such as quantity1,quantity2,quantity3 and quantity4.i want to add every quantity(last element) to show total quantity *such as quantity1+quantity2+quantity3+quantity4* can i use inject() method,any suggestions??

Answers


Have a look at:

total_quantity = a.inject(0){|sum,x| sum + x.last }

Each x is one of your inner arrays. So use last to get the last element of it.

Disclaimer: This works, if your last element in the inner array is a number. As in

a = [["product1", "size1", "color1", 1],["product2", "size2", "color2", 4],["product3", "size3", "color3", 3]]

a.map{ |i| i.last.to_i }.inject(:+)

Need Your Help

Return to an already open application when a user tries to open a new instance

c# .net windows vb.net

This has been a problem that I haven't been able to figure out for sometime. Preventing the second instance is trivial and has many methods, however, bringing back the already running process isn'...