quarta-feira, 5 de dezembro de 2012

Exercitando com Ruby Parte 1 (Olá mundo, Operadores aritméticos, Strings, Arrays)

Antes de colocarmos a mão na massa com o Framework Rails é mega interessante aprender a linguagem base Ruby, assim terá mais facilidade no decorrer do desenvolvimento.
Agora tudo funcionando, é hora de praticar. Iremos iniciar neste artigo um passo a passo no Ruby de alguns exemplos como o clássico "Olá mundo!" até as Arrays. A continuação irá se estendendo no decorrer do meu tempo vago! Vamos lá! Sem enrolação!

Principio
  1. Abra o terminal do Ruby conhecido como IRB (Interactive Ruby);
  2. Existem duas formas: abra através do executar com o comando "irb" e de um enter, ou acesse o seu menu iniciar o procure por Ruby.... e abra o seu "Interactive Ruby";
  3. Irá aparecer o terminal IRB;
Olá mundo
  1. Como toda linguagem existe um comando de saída, no Ruby é utilizado "puts" ou "p", então nosso primeiro exemplo ficaria:
    puts "Olá mundo!"
    Olá mundo
    => nil
    Apos executar vera que irá exibir o "Olá mundo!" e também será retornado um "=> nil" que seria um objeto NULL;
  2. Como comentei no blog em outro post, todas variáveis são objetos.
Operações aritméticas
Basta digitar uma operação, olhem que é muito simples: 
  1. Somando:
    2+2
    => 4
  2. Multiplicando:
    2*3
    => 6
  3. Números na potenciação: 2 na potencia de 3 como ficaria? o Ruby entende que dois asteriscos é reservado para potenciação:
    2**3
    => 8
  4. Raiz quadrada: é preciso importar a classe Math e chamar a função "sqrt()"; ficaria assim:
    Math.sqrt(9)
    => 3.0
  5. Se você ainda não testou a divisão verá que existe um pequena diferença no retorno, por padrão a saída virá um número inteiro em todas as operações, quando irá calcular uma operação do tipo 7 dividido por 3 verá que o retorno sera =>3
    7/3
    => 3
    Mas como isso? o Ruby esta doido? Não! Não criemos pânico! como comentei retorna somente números inteiros, e como faço para retornar o numero fracionário? Bom eu conheço duas formas! acredito que existam mais formas, a primeira seria colocar os números  em forma de fracionário, tipo:
    7.0/3.0
    => 3.5
    A outra seria mais avançada do tipo 'forçar' a conversão, importe a classe matemática: " require 'mathn' " agora aplique a operação acompanhada da função de conversão para float(fracionário):
    require 'mathn'
    => true
    (7/2).to_f
    => 3.5
Strings
Um conjunto de caracteres formam uma String. Vamos manipular as Strings usando funções nativas;
  1. As aspas (simples ou duplas) definem uma String dando inicio e fim (abre e fecha)":
    'Darlan'
    => "Darlan"
  2. Reverter a String:
    'Darlan'.reverse
    => "nalraD"
  3. Tamanho String:
    'Darlan'.length
    => 6
  4. Replicar String:
    'Darlan' * 3
    => "DarlanDarlanDarlan"
  5. Converter inteiro para String:
    123.to_s.reverse
    => 321
  6. Outra forma de converter:
    %q(Darlan Dieterich)
    => "Darlan Dieterich"
  7. De novo:
    %|Darlan Dieterich|
    => "Darlan Dieterich"
  8. Concatenar
    nome = 'Darlan' 'Dieterich' 
    => "DarlanDieterich"
  9. Outra forma de concatenação
    nome = 'Darlan' 
    => "Darlan"
    sobrenome = 'Dieterich'
    => "Dieterich"
    nome << sobrenome
    => "DarlanDieterich"
    
    
Arrays
Uma coleção de referência de objetos, criadas a partir da classe Array;
  1. Um array:
    [22,10,15]
    => [22,10,15]
  2. Retornando o maior numero:
    [22,10,15].max
    => 22
  3. Retornando o menor numero:
    [22,10,15].min
    => 10
  4. Ordenar vetor:
    [22,10,15].sort
    => [10,15,22]
  5. Array com somente Strings:
    z = %w(darlan dieterich)
    =>["darlan" , "dieterich"]
  6. Inserindo elementos:
    z = [ ]
    =>[ ]
    z << "um"
    => ["um"]
    z << "dois"
    => ["um", "dois"]
  7. Preenchendo array de forma bizarra usando potenciação de acordo com a posição do vetor (0x0=0, 1x1=1, 2x2=4, 3x3=9, 4x4=16):
    Array.new(5){ |i| i**2}
    => [0,1,4,9,16]
Isso que foi mostrado agora é uma pequena parte do que o Ruby pode fazer, pois existe muitos exemplos a serem mostrados. No próximo post irei mostrar mais exemplos...

Autor: Darlan Dieterich

Nenhum comentário:

Postar um comentário

Deixe aqui seu comentário