(1 ) - (), .
().
inject() :
[1, 2, 3, 4].inject(0) {|memo, num| memo += num; memo} # sums all elements in array
[1, 2, 3, 4] memo ( ). , .
[1, 2, 3, 4].inject(0) {|memo, num| memo += num} # also works
inject() :
result = 0
[1, 2, 3, 4].each {|num| result += num}
result
inject() . convert() [['dogs', 4], ['cats', 3], ['dogs', 7]] {'dogs' => 11, 'cats' => 3}.
[['dogs', 4], ['cats', 3], ['dogs', 7]].inject({'dogs' => 0, 'cats' => 0}) do |memo, (animal, num)|
memo[animal] = num
memo
end
:
[['dogs', 4], ['cats', 3], ['dogs', 7]].inject(Hash.new(0)) do |memo, (animal, num)|
memo[animal] = num
memo
end
, inject() :
result = Hash.new(0)
[['dogs', 4], ['cats', 3], ['dogs', 7]].each do |animal, num|
result[animal] = num
end
result