Some important and unknown(least used) ruby methods.
1) inject or reduce When called, the inject method will pass each element and accumulate each sequentially. ex: [1,2,3].inject(:+) => ((1+2)+3)) //we have can any operator here i.e +,-,*,/,% OR [1,2,3].inject{|sum, value| sum + value } => 1 iteration: (1 + 2) => 2 iteration: (3(1st iteration sum)+3) we can also pass it a default value or base value for the accumulator. ex: [1,2,3].inject(0, :+) => (0+(1+2)+3)) //so here initial value for sum is 0. We can also use inject menthods for building hash's from the array's ex: [[:book, "data structure"], [:price, "400rs"]].inject({}) do |result, element| result[element.first] = element.last result end #=> {:book=>"data structure", :price=>"400rs&qu