19. #3:ARRAY.INJECT
# Sum up all numbers in an array
array = [1,2,3,4,5]
sum = 0
array.each do |number|
sum += number
end
return sum # => 15
20. #3:ARRAY.INJECT
# Sum up all numbers in an array
array = [1,2,3,4,5]
array.inject(0) { |sum, number| sum + number } # => 15
21. #3:ARRAY.INJECT
# Sum up all numbers in an array
array = [1,2,3,4,5]
array.inject(0) { |sum, number| sum + number } # => 15
# Sum up all numbers in an array
array = [1,2,3,4,5]
sum = 0
array.each do |number|
sum += number
end
return sum # => 15
23. #4: CHAIN ARRAY METHODS
# Given an array, return a new array with
# Only even numbers
# The numbers are multiplied by 3
# Reject all numbers that are greater than 20
array =[1,2,3,4,5,6,7,8,9,10]
result = []
array.each do |x|
if x % 2 == 0
result << x * 3 if x * 3 < 21
end
end
return result # => [6, 12, 18]
24. #4: CHAIN ARRAY METHODS
# Given an array, return a new array with
# Only even numbers
# The numbers are multiplied by 3
# Reject all numbers that are greater than 20
array =[1,2,3,4,5,6,7,8,9,10]
array.select { |x| x % 2 == 0 }.map { |x| x * 3}.reject { |x| x > 20}
# => [6, 12, 18]
25. #4: CHAIN ARRAY METHODS
• More expressive
• Shorter code
• Common Ruby idiom