Ruby 哈希:减去数量
Ruby Hash: Subtracting quantities
我正在尝试创建一个响应,允许用户输入库存的键和值以从已存在的库存中减去。因此,如果库存开始时有 10 个苹果,而我回答说我要卖 7 个苹果,则散列中的剩余部分应表示为还剩 3 个苹果。
我是初学者,有点迷茫,所以任何解释都会有所帮助。谢谢!
@inventory = {"apples" => 10, "bananas" => 10, "crackers" => 10, "breads" => 10}
def sell_inventory
puts "What food are we selling today?"
product = gets.chomp.downcase
puts "How many #{product} are we selling today?"
quantity = gets.to_i
@inventory.delete(product, quantity)
end
@inventory = { "apples" => 10, "bananas" => 10, "crackers" => 10, "breads" => 10 }
def sell_inventory
puts "What food are we selling today?"
product = gets.chomp.downcase
puts "How many #{product} are we selling today?"
quantity = gets.to_i
if @inventory.key?(product)
@inventory[product] -= quantity
@inventory[product] = 0 if @inventory[product] < 0
else
puts "No inventory product: #{product}"
end
end
首先我检查product
是否是Hash#key?的库存产品。否则我会打印错误。
然后我减去数量。最后我检查了总数量不能为负数
您尝试过的 Hash.delete 将从散列中删除 key-value-pair 并从值中删除 returns。一个例子:
@inventory.delete("apples")
# => 8
@inventory
# => {"bananas"=>10, "crackers"=>10, "breads"=>10}
我正在尝试创建一个响应,允许用户输入库存的键和值以从已存在的库存中减去。因此,如果库存开始时有 10 个苹果,而我回答说我要卖 7 个苹果,则散列中的剩余部分应表示为还剩 3 个苹果。
我是初学者,有点迷茫,所以任何解释都会有所帮助。谢谢!
@inventory = {"apples" => 10, "bananas" => 10, "crackers" => 10, "breads" => 10}
def sell_inventory
puts "What food are we selling today?"
product = gets.chomp.downcase
puts "How many #{product} are we selling today?"
quantity = gets.to_i
@inventory.delete(product, quantity)
end
@inventory = { "apples" => 10, "bananas" => 10, "crackers" => 10, "breads" => 10 }
def sell_inventory
puts "What food are we selling today?"
product = gets.chomp.downcase
puts "How many #{product} are we selling today?"
quantity = gets.to_i
if @inventory.key?(product)
@inventory[product] -= quantity
@inventory[product] = 0 if @inventory[product] < 0
else
puts "No inventory product: #{product}"
end
end
首先我检查product
是否是Hash#key?的库存产品。否则我会打印错误。
然后我减去数量。最后我检查了总数量不能为负数
Hash.delete 将从散列中删除 key-value-pair 并从值中删除 returns。一个例子:
@inventory.delete("apples")
# => 8
@inventory
# => {"bananas"=>10, "crackers"=>10, "breads"=>10}