Das Adressbuch ausgeben
Nun werden wir lernen, was wir mit dem Adressbuch anstellen
können.
Etwas präziser, wir werden lernen, wie wir das Adressbuch ausgeben sowie sortieren können.
Komplexe Strukturen ausgeben
Sie können immernoch "puts adressbuch" eingeben,
aber die Ausgabe ist hässlich und nicht sehr hilfreich
(versuchen Sie es und sehen Sie es selbst).
Wir werden nun selber definieren, wie die Ausgabe auszusehen hat.
Das Adressbch ist ein Array, also verfügen wir über die Methode
Array#each. Beginnen wir damit, nur den Vornamen der
Kontakte auszugeben:
adressbuch.each do |person|
puts person["vorname"]
end
|
Die Ausgabe sieht so aus:
Vor- und Nachname
Der nächste Schritt ist Vor- und Nachnamen auszugeben:
adressbuch.each do |person|
vor = person["vorname"]
nach = person["nachname"]
puts vor + " " + nach
end
|
Ergibt:
Josef Adams
Herbert Smith
Tim Koh
|
Telefonnummer
adressbuch.each do |person|
vor = person["vorname"]
nach = person["nachname"]
tel = person["telnr"]
puts vor + " " + nach + ":"
puts " " + telnr
end
|
Ausgabe:
Josef Adams:
(301) 364-8924
Herbert Smith:
(301) 345-9837
Tim Koh:
(301) 354-2975
|
Adresse
Zuletzt noch das Adressbuch hinzufügen und
eine Trennung zwischen den Einträgen.
adressbuch.each do |person|
# Name und Telefonnr.
vor = person["vorname"]
nach = person["nachname"]
telnr = person["telnr"]
puts vor + " " + nacht + ":"
puts " " + telnr
# Adresse
strasse = person["adresse"]["strasse"]
stadt = person["adresse"]["stadt"]
land = person["adresse"]["land"]
plz = person["adresse"]["plz"]
puts " " + strasse
puts " " + stadt
puts " " + land + ", " + plz
# Eine Leerzeile um die Einträge zu trennen
puts ""
end
|
Das ergibt:
Josef Adams:
(301) 364-8924
23 St George St.
Silver Spring
MD, 20465
Herbert Smith:
(301) 345-9837
43 Main St. W
Washington
DC, 29847
Tim Koh:
(301) 354-2975
324 Campus Dr.
College Park
MD, 23659
|