Neste artigo, vamos explorar o IRB (Interactive Ruby), um ambiente interativo que permite as pessoas testarem códigos Ruby rapidamente. O IRB é uma ferramenta essencial para quem está começando a aprender programação em Ruby.
Apresentação
IRB é uma sigla (abreviação) para “Interactive Ruby” em português, significa “Ruby Interativo”. Ele é um ambiente de linha de comando que permite executar comandos Ruby e ver os resultados imediatamente.
O IRB é instalado automaticamente junto com o Ruby, ele é bastante útil porque permite ver rapidamente como o código funciona, para entender assuntos iniciais de programação, como variáveis, tipos de dados, operadores e estruturas de controle ele é ótimo.
É importante dizer que a ideia não é programar projetos completos no IRB, mas sim usar ele como uma ferramenta para aprender e experimentar com o código Ruby. Ao longo desse artigo vamos ver como ele funciona e como você pode usá-lo.
Iniciando o IRB
Para iniciar o IRB, você precisa ter o Ruby instalado no seu computador. Depois é só abrir o terminal, se estiver no Ubuntu pode usar o atalho Ctrl + Alt + T para abrir o terminal rapidamente.
Com o terminal aberto, digite o seguinte comando para iniciar o IRB:
irb
No meu terminal eu fiz assim:
parallels@ubuntu:~$ irb
pressionei Enter e o IRB foi iniciado. Quando o IRB é iniciado, após o Enter, no terminal aparece algo assim:
irb(main):001>
Testando o IRB
Quando o IRB está ativo comandos de terminal como:
ls- para listar arquivos e pastascd- para mudar de pastapwd- para mostrar o endereço da pasta atual
Não funcionam mais, pois o IRB está esperando comandos em Ruby.
Para sair do IRB, você pode digitar o comando:
exit
Aí sim você volta para o terminal normal.
Mas, uma vez que você digita irb e pressiona Enter, você está dentro do IRB e pode começar a digitar comandos Ruby.
Para testar isso, vamos usar o comando que aprendemos no artigo anterior, o comando puts, que serve para mostrar mensagens na tela.
irb(main):001> puts "Olá mundo!"
Olá mundo!
=> nil
irb(main):002>
No exemplo acima, digitamos puts "Olá mundo!" e pressionamos Enter. O IRB executou o comando e mostrou a mensagem “Olá mundo!” na tela. Depois disso, o IRB mostrou => nil, que indica que o comando não retornou nenhum valor útil (no sentido de resultado de alguma operação, conta ou expressão).
Agora vamos fazer outro teste incrementando (adicionando) o elemento \n (barra invertida + letra n) dentro da mensagem, e depois dele outra mensagem, para ver como o IRB lida com isso.
irb(main):008> puts "Olá mundo! \nIRB está funcionando."
Olá mundo!
IRB está funcionando.
=> nil
irb(main):009>
O que aconteceu aqui? O elemento \n é um caractere especial, caractere especial é um símbolo que representa algo diferente do que ele parece. Nesse caso, o \n não é apenas uma barra invertida seguida da letra n, ele representa uma ação que o computador deve executar, nesse caso a ação que o \n representa é “pular para a próxima linha”.
Então, quando digitamos puts "Olá mundo! \nIRB está funcionando.", o IRB interpretou o \n como um comando para pular para a próxima linha, e por isso a mensagem “IRB está funcionando.” apareceu na linha de baixo.
Se tivessemos colocado o texto “IRB está funcionando.” afastado do \n, o resultado seria diferente:
irb(main):009> puts "Olá mundo! \n IRB está funcionando."
Olá mundo!
IRB está funcionando.
=> nil
irb(main):010>
Nesse caso, a mensagem “IRB está funcionando.” apareceu na linha de baixo, mas com um espaço antes dela, porque colocamos um espaço entre o \n e o texto então o IRB respeitou esse espaço.
Testando números no IRB
O que acontece se digitarmos no IRB o seguinte comando:
puts "10 + 10"
O resultado será:
10 + 10
=> nil
Ou seja, o IRB apenas mostrou o texto “10 + 10” na tela, mas não fez a conta de somar 10 + 10. Isso aconteceu porque colocamos os números dentro de aspas, então o IRB interpretou tudo como texto e não como uma operação matemática.
Para fazer o IRB calcular a soma de 10 + 10, precisamos digitar o comando sem aspas, assim:
irb(main):015> puts 10 + 10
20
=> nil
irb(main):016>
Assim o IRB fez a conta e mostrou o resultado 20 na tela.
Podemos fazer outras operações matemáticas no IRB, até mesmo sem usar o comando puts. Por exemplo:
irb(main):016> 10 + 10
=> 20
irb(main):017> 10 - 5
=> 5
irb(main):018> 10 * 10
=> 100
irb(main):019> 10 / 10
=> 1
irb(main):020>
No exemplo acima, fizemos várias operações matemáticas: soma, subtração, multiplicação e divisão. O IRB mostrou o resultado de cada operação após o símbolo =>.
Observe que usamos:
- * (asterisco) para multiplicação
- / (barra) para divisão
- - (menos ou hífen) para subtração
- + (mais) para adição
Esses são os símbolos matemáticos padrão não só no Ruby, mas em muitas outras linguagens de programação também.
Na série Computação para Iniciantes foi abordada a ideia de que o computador é uma máquina elétrica que segue instruções. A forma de representar símbolos, não só matemáticos, não é ilimitada.
Por isso precisamos combinar símbolos e comandos para representar ações que queremos que o computador execute.
Por isso frequentemente usamos símbolos matemáticos como +, -, * e / para representar operações matemáticas em linguagens de programação como o Ruby.
Combinando texto e números no IRB
Agora que já sabemos como mostrar mensagens na tela e fazer operações matemáticas no IRB, vamos ver como combinar texto e números em um único comando.
irb(main):006> puts "Vamos somar 10 + 10. \nO resultado do cálculo é #{10 + 10}."
Vamos somar 10 + 10.
O resultado do cálculo é 20.
=> nil
O comando acima usa o #{}, para inserir o resultado da operação matemática dentro da mensagem de texto. O que está dentro das chaves {} é avaliado como código Ruby para ser calculado, não como texto apenas para ser exibido e o resultado é inserido na mensagem junto com o restante do texto que está fora das chaves e este sim é tratado como texto normal.
Outras operações podem ser feitas como:
irb(main):007> puts "Vamos multiplicar 10 vezes 10. \nO resultado do cálculo é #{10 * 10}."
Vamos multiplicar 10 vezes 10.
O resultado do cálculo é 100.
=> nil
No exemplo acima, usamos o #{} para calcular a multiplicação de 10 vezes 10 e inserir o resultado na mensagem de texto.
Outro exemplo:
irb(main):008> puts "Vamos subtrair 10 menos 10. \nO resultado do cálculo é #{10 - 10}."
Vamos subtrair 10 menos 10.
O resultado do cálculo é 0.
=> nil
No exemplo acima, usamos o #{} para calcular a subtração de 10 menos 10 e inserir o resultado na mensagem de texto.
Outro exemplo:
irb(main):009> puts "Vamos dividir 10 por 10. \nO resultado do cálculo é #{10 / 10}."
Vamos dividir 10 por 10.
O resultado do cálculo é 1.
=> nil
irb(main):010>
No exemplo acima, usamos o #{} para calcular a divisão de 10 por 10 e inserir o resultado na mensagem de texto.
Resumo
Neste artigo, exploramos o IRB, um ambiente interativo para programação em Ruby. Vimos como iniciar o IRB, testar comandos básicos como puts para mostrar mensagens na tela, fazer operações matemáticas e combinar texto e números em um único comando.
O IRB é uma ferramenta poderosa para aprender e experimentar com o código Ruby, permitindo que você veja os resultados imediatamente.
A partir de agora vamos usar o IRB para trabalhar alguns conceitos de programação em Ruby mais a frente. Experimente usar o IRB para praticar os comandos que aprendemos até agora, teste os retornos e veja como o Ruby responde aos seus comandos.
O importante é adquirir familiaridade com o ambiente e com a linguagem, para que você se sinta confortável, pois isso será necessário mais adiante.