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

                       

 

topo da página

<< Página Anterior | índice | Próxima Página >>
Apostilas de Ruby e RGSS

nossos tutoriais

navegue

livros recomendados