Warum wird das Programm beendet, nachdem es in der Befehlszeile ausgeführt wurde?Ruby-Programm beendet nach der Ausführung von Code in der Eingabeaufforderung
Ich habe den folgenden Code als .rb-Datei gespeichert. Wenn ich es ausführe, geht es alles durch, aber es zeigt mir nicht den resultierenden Hash, den ich anzeigen möchte. Stattdessen wird das Programm beendet.
def create_list
print "What is the list name? "
name=gets.chomp
hash={"name"=>name,"items"=>Array.new}
return hash
end
def add_list_item
print "What is the item called? "
item_name=gets.chomp
print "How much? "
quantity=gets.chomp.to_i
hash={"name"=>item_name, "quantity"=>quantity}
return hash
end
def print_separator(character="-")
puts character *80
end
def print_list(list)
puts "List: #{list['name']}"
print_separator()
list["items"].each do |item|
puts "\tItem: " + item['name'] + "\t\t\t" +
"Quantity: " + item['quantity'].to_s
end
print_separator()
end
list=create_list()
list['items'].push(add_list_item())
list['items'].push(add_list_item())
puts "Here is your list: \n"
print_list(list)
Wo? Bitte lassen Sie mich wissen, wo es ist und ob das mein Problem verursacht – Amir
Hinzugefügt am Ende und das Programm nicht beendet und ich konnte die Liste sehen: setzt "Drücken Sie RETURN, wenn Sie fertig sind." bekommt – Amir
Diese Einrückung ist reine Anarchie. Wenn Sie Ihren Code besser organisieren und die Dinge richtig eingerückt haben, wären die Fehler viel offensichtlicher. – tadman