Ruby

Instalação do Ruby no Linux (Ubuntu)

A instalação do Ruby no Linux é muito parecida com a instalação no Windows. A maior diferença é que você só precisa de alguns comandos no terminal e ele se encarrega de todo o resto (baixar e instalar no devido lugar).

$ sudo apt-get install ruby1.9.1-full

Pronto, Ruby instalado. Agora você pode fazer um teste rápido. Digite no terminal:

$ ruby -v
Primeira Aplicação Ruby no Linux

Você já deve saber que escrever um “Hello World” em Ruby é muito simples. Então vamos fazer um programa executá-lo. Para fazer isso iremos precisar de um editor de texto simples(Gedit, por exemplo) e o terminal para digitar alguns comandos. Agora vamos aos passos:

  • Abra o terminal (console) e vamos criar uma pasta para guardar o nosso programa, da seguinte forma:
$ cd ~
$ mkdir testeruby
$ cd testeruby
  • Abra o Gedit ou outro editor de sua preferência, escreva o texto abaixo:
puts "Hello world Ruby!"
  • Salve com o nome programa.rb na seguinte pasta: ~/testeruby
  • Volte para o terminal e execute o seu programa
$ ruby programa.rb

Se você fez tudo certinho verá o texto “Hello world Ruby!” sendo exibido no terminal (console).

Quando se usa o Linux, existem duas formas de você executar seus programas utilizando o Ruby. A primeira forma é utilizando o comando ruby + nome-do-arquivo.rb no terminal, como no exemplo anterior. A outra forma, é colocar o caminho para o interpretador Ruby dentro do arquivo programa.rb como no texto abaixo:

#!/usr/bin/env ruby
puts "Hello world Ruby!"

Agora dê permissão de execução para o seu arquivo:

$ chmod +x programa.rb

E execute-o:

$ ./programa.rb

Perceba que a diferença entre as duas formas de execução de programas Ruby é apenas o comando no terminal. Na primeira forma você usa o comando “ruby” e na segunda você o executa como um arquivo qualquer do linux.

Pronto, programa escrito e executando! E agora, está pronto para outros desafios?

Ruby Ordenando Hash

Abra o console do Linux ou Windows e digite:

$ irb
> meuhash = {1=>"um", 3=>"tres", 2=>"dois"}
=> {1=>"um", 2=>"dois", 3=>"tres"}

Para ordenar um hash em ruby você só precisa chamar o método sort

> meuhash.sort
=> [[1, "um"], [2, "dois"], [3, "tres"]]

Porém o ruby não possui o método reverse para o hash, assim como existe em um array. Veja como fazer um reverse no seu hash.

> meuhash.sort {|a,b| -1*(a<=>b) }
=> [[3, "tres"], [2, "dois"], [1, "um"]]

Loop com incremento personalizado com Ruby

Criar um loop com incremento personalizado utilizando linguagens como C ou Java é bem fácil:

for(int i = 1; i < 10; i+=2) {
  System.out.println(i)
}

Porém como os loops em Ruby não seguem a mesma filosofia e oferecem recursos um pouco diferentes, para vc criar seu loop com incremento diferente do padrão (incrementando de 1 em 1) faça assim:

1.step(10,2) do |i| 
  puts i.to_s
end

onde:
1 é o número inicial do loop;
10 é o número final do loop;
2 é o incremento.

Assim vc exibirá uma sequência de números que começam em 1 e sendo incrementados de 2 em 2 até o 10. Ou seja, a saída será: 1, 3, 5, 7,9