Iniciando inserção de dados

Vamos fazer o programa saudar o usuário. Vamos perguntar o nome a ele ou ela, e então dizer "hello". Nós usamos o método gets para possibilitar ao usuário inserir dados (como string).


Salve e execute-o:


O que aconteceu? Porque ele foi para a próxima linha?

Ele pulou para a próxima linha porque você digitou um caracter de nova linha. Ou seja, porque você pressionou Enter.

Isso vai fazer mais sentido se nós voltarmos ao irb. Inicie o irb e digite a linha do gets. Quando o computador aguardar, digite seu nome. Olhe tentamente o que acontece:


O que é "\n" no fim da string?

O "\n" representa um caracter de nova-linha. Este é um caracter que seu teclado manda quando você pressiona a tecla Enter.

Dica: Viu como nós usamos o irb para visualizar o que aconteceu?
Sempre que algo não satisfazer sua expetativa, é uma boa idéia testar no irb.

Acabando com a nova linha!

Ok, nós sabemos o que está errado. Mas como podemos acabar com essa nova linha?

As strings Rubycontém o método String#chomp para precisamente este propósito.Vamos voltar ao irb para vermos isso em ação.


Lindo! O método String#chomp retornou a string, mas sem a terminação da nova linha. Então agora nós podemos escrever:

Observe que name continua contando a nova linha. É o chomped_name que procuramos. Mas porque ter outra variável? É melhor escrever:

>> name = name.chomp
    
      

Agora name teve seu caractere de nova linha removida.

De volta ao nosso programa

Agora podemos voltar ao nosso programa e resolver o problema.


Agora, aqui estão algumas coisas sobre Ruby:

1- chomp é um método de strings (String#chomp).
2- gets retorna uma string.

Por isso, você pode escrever gets.chomp para fazer String#chomp ser chamado junto com o que gets retorna. Em outras palavras, nós podemos escrever:


Agora, isto não é lindo? digite isso e execute:

Exercícios

1- Escreva um programa que pega duas palavras e as imprime em ordem oposta na tela.

2- Escreva um programa que comporte-se como esse:

Assume-se que o ano do usuário é simplesmente o ano corrente menos a idade. Lembre de String#to_i

3- Escreva um programa que pergunte um número e uma sentença e imprima a sentença em ordem inversa na quantidade de vezes informada. Assim:

Existe mais de uma forma de se fazer este programa. Use a que você desejar.

4- O que você acha que esta linha faz?

number = gets.chomp.to_i  
       
              

Teste no irb.

5- Escreva um programa que calcule o fatorial do número que o usuário digita. Ele deve ser similar a isso:

 

topo da página

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

nossos tutoriais

navegue

livros recomendados