Ich schaue hauptsächlich, wenn "4" unter dem Fall next_choice Aussage. Ich möchte das Schlüssel-Wert-Paar im Inventar-Hash heraussuchen und es dann mit dem sell_inventory-Hash vergleichen. Wenn der Wert des Inventars größer ist als der Wert in sell_inventory, dann subtrahiere die Differenz der beiden vom Inventarwert. Nachdem ich alles getan habe, möchte ich den sell_inventory Hash löschen, so dass, wenn Option 4 erneut ausgewählt wird, ich den Vorgang wiederholen kann. Ich kann mir nicht vorstellen, wie ich das machen soll, da ich ziemlich grün bin, wenn es um Rubin-Hashes geht.Ruby - Vergleiche spezifische Werte in zwei separaten Hashes (Anfänger)
inventory = {}
sell_inventory = {}
p "Press enter to continue to program."
choice = gets.chomp.downcase
until choice.empty?
choice = gets.chomp.downcase
p "That is not a valid choice, please press enter to start."
end
while true
case choice
when ""
p "1. Show items in inventory"
p "2. Add new item to inventory"
p "3. Remove item from inventory"
p "4. Sell items"
p "5. Buy items"
next_choice = gets.chomp.downcase
case next_choice
when "1"
p "#{inventory}"
when "2"
p "What item would you like to store?"
item = gets.chomp
if inventory.has_key?(item)
p "You already have that item in storage."
else
inventory[item]
p "How many of the items would like to store?"
amount = gets.chomp.to_i
inventory[item] = amount
p "Items added to inventory."
end
when "3"
p "What item would you like to remove from inventory?"
item_to_remove = gets.chomp.to_i
if inventory.include?(item_to_remove)
inventory.delete_if {|item, id| item ==
item_to_remove}
else
p "That item is not in stock."
end
when "4"
p "What item would you like to sell?"
items_to_sell = gets.chomp
sell_inventory[items_to_sell]
p "How many of that item would you like to sell?"
amount_to_sell = gets.chomp.to_i
sell_inventory[items_to_sell] = amount_to_sell
end
when "exit"
break
end
end
Okay danke, dass Sie das für mich geklärt haben. Ich habe das alles zu kompliziert gemacht. –
Kein Problem! Sie können den Benutzer auch warnen, wenn die eingegebene Menge mehr als im Bestand ist und sie die Menge erneut eingeben. – Trinculo