Imprimindo o livro de endereços
Agora nós vamos aprender como fazer algumas coisas com o livro de endereços. Específicamente, nós vamos aprender como imprimir na tela e organizar o livro.
Imprimindo estruturas complexas
Você pode digitar "puts addressbook", mas a saída será feia e nada utilizável (tente e veja você mesmo). Nós vamos definir uma outra forma de imprimir os documentos.
O livro de endereços é um array, então temos o método Array#each. Vamos começar justamente imprimindo os primeiros nomes dos contatos:
addressbook.each do |person|
puts person["first name"]
end
|
Isto vai imprimir na tela:
Melissa
Joe
Sandy
|
Nomes completosFull names
O próximo passo é imprimir os nomes completos:
addressbook.each do |person|
first = person["first name"]
last = person["last name"]
puts first + " " + last
end
|
Vai imprimir:
Melissa Adams
Joe Smith
Sandy Koh
|
Número do telefone:
addressbook.each do |person|
first = person["first name"]
last = person["last name"]
phone = person["phone"]
puts first + " " + last + ":"
puts " " + phone
end
|
Saída:
Melissa Adams:
(301) 364-8924
Joe Smith:
(301) 345-9837
Sandy Koh:
(301) 354-2975
|
Endereço
Finalmente adicionamos o endereço e a separação entre as entradas.
addressbook.each do |person|
# Name and phone.
first = person["first name"]
last = person["last name"]
phone = person["phone"]
puts first + " " + last + ":"
puts " " + phone
# Address
street = person["address"]["street"]
city = person["address"]["city"]
state = person["address"]["state"]
zip = person["address"]["zip"]
puts " " + street
puts " " + city
puts " " + state + ", " + zip
# A blank line to sepparate entries.
puts ""
end
|
Que produz:
Melissa Adams:
(301) 364-8924
23 St George St.
Silver Spring
MD, 20465
Joe Smith:
(301) 345-9837
43 Main St. W
Washington
DC, 29847
Sandy Koh:
(301) 354-2975
324 Campus Dr.
College Park
MD, 23659
|