exercise done
This commit is contained in:
1 parent
55030af64d
commit
7049ba14b4
1 file changed
+2
-2
@@ -0,0 +1,49 @@
|
||||
# Défi : regrouper des repas
|
||||
#
|
||||
# Écris la méthode `meal_totals(meals)`.
|
||||
#
|
||||
# Chaque repas contient un aliment et une quantité :
|
||||
#
|
||||
# { food: "dubia", quantity: 2 }
|
||||
#
|
||||
# La méthode doit retourner un hash contenant la quantité totale
|
||||
# consommée pour chaque aliment.
|
||||
#
|
||||
# Exemple :
|
||||
#
|
||||
# meals = [
|
||||
# { food: "dubia", quantity: 2 },
|
||||
# { food: "mealworm", quantity: 3 },
|
||||
# { food: "dubia", quantity: 1 }
|
||||
# ]
|
||||
#
|
||||
# meal_totals(meals)
|
||||
# => {
|
||||
# "dubia" => 3,
|
||||
# "mealworm" => 3
|
||||
# }
|
||||
#
|
||||
# Contraintes :
|
||||
# - ne modifie pas le tableau d'origine ;
|
||||
# - le résultat doit fonctionner quel que soit le nom des aliments ;
|
||||
# - évite d'écrire une condition spécifique pour chaque aliment.
|
||||
|
||||
meals = [
|
||||
{ food: "dubia", quantity: 2 },
|
||||
{ food: "mealworm", quantity: 3 },
|
||||
{ food: "dubia", quantity: 1 },
|
||||
{ food: "red_runner", quantity: 2 }
|
||||
]
|
||||
|
||||
def meal_totals(meals)
|
||||
total = {}
|
||||
meals.each do |meal|
|
||||
unless total.key?(meal[:food])
|
||||
total[meal[:food]] = 0
|
||||
end
|
||||
total[meal[:food]] += meal[:quantity]
|
||||
end
|
||||
total
|
||||
end
|
||||
|
||||
puts meal_totals(meals)
|
||||
Reference in new issue
Block a user