-CodeEntire Hash immer am Ende der Schleife zurück
$dail_book = {
"los_angeles" => 212,
"new_york" => 523,
"portland" => 234,
"seattle" => 502,
"miami" => 910,
"san_francisco" => 345,
"sioux_falls" => 543,
"omaha" => 642,
"minneapolis" => 342,
"san_diego" => 233
}
# Removes the underscore, captalizes each city,
# and prints it back to the user
def format_cities(k)
puts "#{k.split('_').map(&:capitalize).join(' ')}"
end
# Loops through $dail_book
def display_cities
puts "Options: "
puts $dail_book.sort.each {|k,v| format_cities(k)}
end
Ausgabe
Options:
Los Angeles
Miami
Minneapolis
New York
Omaha
Portland
San Diego
San Francisco
Seattle
Sioux Falls
los_angeles
212
miami
910
minneapolis
342
new_york
523
omaha
642
portland
234
san_diego
233
san_francisco
345
seattle
502
sioux_falls
543
Frage
Warum wird die gesamte Hash am Ende wieder bekommen der Schleife? Was ist los?
verwenden nur 'map' statt' each'. Siehe Dokumentation. – Ilya
Sie können 'format_cities' entfernen und' puts $ dail_book.keys.map {| citie | hinzufügen citie.split ('_'). map (&: Großbuchstaben) .join ('')} .sort' –