ruby - 调酒师挑战,错误 ocde:challange3.rb:64:in `': nil:NilClass (NoMethodError) 的未定义方法 `+'
问题描述
我试图解决这个非常基本的挑战。在我开始为订单添加总利润并收到错误消息之前,其他一切都运行良好:“challange3.rb:64:in <main>': undefined method
+' for nil:NilClass (NoMethodError)”。
您在一家酒吧工作,那里目前有积压的饮料要制作:
3 杯鸡尾酒、2 杯水和 6 杯啤酒编写了一个程序,询问客户的订单。
如果他们点了鸡尾酒,请在您需要制作的鸡尾酒数量上加一。如果他们点了水,请在您需要制作的水的数量上加一。如果他们点了啤酒,请在您需要倒的啤酒数量上加一。打印最终的饮料订单,以便您知道要做什么。鸡尾酒售价 22 美元,制作成本为 8 美元。啤酒卖 12 美元,倒酒要 3 美元。水的售价为 6 美元,制作成本为 0.15 美元。打印出您的订单的总利润。
这是我的代码
backlog_cocktails = 3
backlog_waters = 2
backlog_beers = 6
cocktail_cost = 8
water_cost = 0.15
beer_cost = 3
cocktail_selling_price = 22
water_selling_price = 6
beer_selling_price = 12
total_profit = " "
p "Are you ordering?"
are_you_ordering = gets.chomp
while are_you_ordering == "yes"
puts "We have Cocktails, Waters and beers for order."
puts "What orders do you want to make?"
customer_order = gets.chomp
if customer_order == "cocktail"
backlog_cocktails += 1
cocktail_profit = (cocktail_selling_price - cocktail_cost) * backlog_cocktails
elsif customer_order == "water"
backlog_waters += 1
water_profit = (water_selling_price - water_cost) * backlog_waters
else customer_order == "beer"
backlog_beers += 1
beer_profit = (beer_selling_price - beer_cost) * backlog_beers
end
p "We got cocktail: #{backlog_cocktails}, water: #{backlog_waters} and beer: #{backlog_beers} to make."
puts "Do you want to make more order?"
are_you_ordering = gets.chomp
total_ profit = cocktail_profit + water_profit + beer_profit
p total_profit
end
解决方案
发生此错误是因为您试图添加到当前nil
正在计算的变量total_profit
。要修复此错误,请在循环之前将cocktail_profit
、water_profit
和初始化beer_profit
为 0 。while
cocktail_profit = 0.0
water_profit = 0.0
beer_profit = 0.0
while are_you_ordering == "yes"
...
推荐阅读
- json - 将相同的生成文件输出到多个输出位置
- python - 如何通过检查另一列中的下一行值来更改列中的值
- php - 将 slim php 连接到 mongodb 学说
- solr - SOLR:具有多个字段(字段元组)的过滤查询(fq)
- javascript - React CSS Keyframes - 当状态从DOM中删除组件时动画
- django - Django 在更新查询中传递值列表
- postgresql - NPGSQL 连接池问题
- reactjs - 我们可以在 useRef、React JS 中将 null 作为第一个值传递吗?
- powerbi - Cypress 测试和 Power BI 嵌入下拉菜单
- mongodb - mongodb 中的请求