我有一个哈希表,每个键都有一个值(一个整数),我想创建一个方法,我写一个数组作为参数,这个数组会写在不同键的名字里.
所以一旦我把数组给了方法,它会把每个元素的值加起来,但是我不知道如何遍历我的数组,把所有的元素都放在哈希表中,然后把它加起来,得到总值。
我的代码是:
DISHES_CALORIES = {
"Hamburger" => 250,
"Cheese Burger" => 300,
"Veggie Burger" => 540,
"Vegan Burger" => 350,
"Sweet Potatoes" => 230,
"Salad" => 15,
"Iced Tea" => 70,
"Lemonade" => 90
}
def poor_calories_counter(burger, side, beverage)
DISHES_CALORIES[burger] + DISHES_CALORIES[side] + DISHES_CALORIES[beverage]
end
def calories_counter(orders)
# TODO: return number of calories for a less constrained order
sum = 0
orders.each { |element| sum = sum + DISHES_CALORIES[":#{element}"] }
end
3条答案
按热度按时间bihw5rsg1#
你很接近了,但是:
1.您不需要对订单进行任何操作即可将其作为索引。
orders.each
在完成时只会返回orders
。1.您需要处理
DISHES_CALORIES[element]
,并返回nil
。可以将块传递给
#sum
。bakd9h0s2#
您也可以使用默认值的哈希计算卡路里在所有地方没有错误
ljsrvy3e3#
您可以允许多个菜单项,如下所示: