1 | 2 | 3 | 4

Ruby em Vinte Minutos

Introdução

Este é um pequeno tutorial de Ruby que não deverá demorar mais de 20 minutos a completar. Assume-se á partida que já tem o Ruby instalado. (Se não tem o Ruby no seu computador, faça o download e instale-o antes de começar.)

Ruby Interactivo

Abrir o IRB.

  • Se está a usar Mac OS X abra o Terminal, escreva irb, e depois pressione a tecla enter.
  • Se está a usar Linux, abra uma shell e escreva irb, seguido de enter.
  • Se está a usar Windows, abra fxri a partir do atalho para o Ruby no seu menu Iniciar.
irb(main):001:0>

Ok, abriu. E agora?

Escreva isto: "Ola Mundo"

irb(main):001:0> "Ola Mundo"
=> "Ola Mundo"

O Ruby obedeceu-lhe!

O que é que sucedeu? Será que acabamos de escrever o mais pequeno programa «Olá mundo»? Não exactamente, a segunda linha é a forma de o IRB nos dizer qual o resultado da última expressão que avaliou. Se desejarmos imprimir «Ola Mundo» necessitamos de um pouco mais:

irb(main):002:0> puts "Ola Mundo"
Ola Mundo
=> nil

puts é o comando básico para imprimir algo em Ruby. Mas então o que é aquele => nil ? É o resultado da expressão. puts retorna sempre nil, o que em Ruby é o valor que representa o nada absoluto.

Uma Máquina Calculadora gratuita

Já temos neste momento conhecimento suficiente para utilizar o IRB como uma calculadora básica:

irb(main):003:0> 3+2
=> 5

Três mais dois. Suficientemente fácil. E então três vezes dois? Pode escrevê-lo, é suficientemente curto, mas também podemos voltar atrás e mudar o que acabamos de inserir. Carregue na tecla Seta para cima do teclado e veja se tal o leva à linha com 3+2. Se tal suceder, use a tecla da seta para a esquerda para mover o cursor para a frente do sinal de mais + e depois use a tecla de backspace para mudar o sinal para *.

irb(main):004:0> 3*2
=> 6

De seguida vamos tentar três ao quadrado:

irb(main):005:0> 3**2
=> 9

Em Ruby ** é a forma de dizer potência de. Mas o que acontece quando queremos saber o inverso disto ou seja a raiz quadrada de algo?

irb(main):006:0> Math.sqrt(9)
=> 3.0

Muito bem, o que aconteceu aqui atrás? Se disse “que estava a determinar a raiz quadrada de nove” então está correcto. Mas vejamos as coisas com mais pormenor. Primeiro de tudo, o que é Math?

Módulos, Agrupar Código por Tópico

Math é um módulo nativo para funções matemáticas. Os módulos têm dois papeis em Ruby. Este é um desses papeis: agrupar métodos semelhantes em conjunto sobre um nome familiar. Math também contém métodos como sin() e tan().

Depois segue-se um ponto final. O que faz o ponto? O ponto final é como se identifica o receptor de uma mensagem. Qual é a mensagem? Neste caso é sqrt(9), o que significa chamar o método sqrt, uma abreviatura em língua inglesa para “square root (raiz quadrada)” com o parâmetro 9.

O resultado desta chamada de método é o valor 3.0. Se repararmos bem, o resultado não é apenas 3. Mas isso deve-se ao facto da raiz quadrada de um número na maioria dos casos não ser um inteiro e, assim sendo, o método retorna sempre um número de vírgula flutuante.

E se nos quisermos lembrar do resultado desta matemática toda? Podemos atribuir o resultado a uma variável.

irb(main):007:0> a = 3 ** 2
=> 9
irb(main):008:0> b = 4 ** 2
=> 16
irb(main):009:0> Math.sqrt(a+b)
=> 5.0

Como calculadora isto é muito bom mas nós estamos a afastarmos-nos da mensagem mais tradicional Ola Mundo que os guias de iniciação normalmente focam… portanto vamos voltar ao assunto.