Saga do programador

15Jul/094

Aprenda Ruby parte V – Métodos

Nesse artigo vamos conhecer um pouco de métodos em Ruby. Você, programador experiente deve estar pensando "Não deve ter nada de muito diferente.." vamos ver o que você acha até o final desse post.

Estrutura

O Método em Ruby é declarado da seguinte forma:

def nomeDoMetodo
   #código
end

Só isso?
Não tenho que dizer o que ele retorna?
Ou dizer que ele não retorna nada "void" ?
É isso mesmo, no Ruby você não precisa definir o que o seu método retorna, também não temos obrigação de utilizar "return" o nosso método sempre vai retornar o ultimo valor atribuído.
É tão simples que deve ter ficado difícil de você visualizar:). Vamos ver um exemplo:

# criando um método chamado teste
def teste
  valor = 1
end
#chamando esse método
teste
=> 1

Parâmetros

O modo de passar parâmetros para um método em Ruby, é quase parecido com o das linguagens chatas:

 def nomeDoMetodo(parametro1,parametro2)
    valor = parametro1 + parametro2
 end

Ok! a similaridade com as linguagens chatas para por aqui.
Uma das coias legais de se trabalhar com uma linguagem dinamica é essa, note que não precisamos definir tipos para o parâmetro, isso nos da uma grande flexibilidade!
Você não acha?
Não!? :( e se eu disser para você que a flexibilidade não se limita a isso, e se eu disser que podemos também, passar um numero indeterminado de parâmetros para o nosso método?
você não acredita? vamos ver um exemplo então:

  # note como declaro o parâmetro no método
  def teste(*parametros)
    parametros.each { |parametro| puts parametro }
  end
  #chamando o método
  teste(1,2,3)
  1
  2
  3
  => [1,2,3]

Para finalizar esse post, vou dar um exemplo que os programadores Delphi vão adorar.

Caramba senti muita falta disso, quando comecei a programar em Java :(

Nos métodos em Ruby é possivel definir um valor default para o parâmetro. Heeeee!!!

  def teste(parametro="Não foi passado nenhum valor")
    parametro
  end
  teste("novo valor")
  => novo valor
  teste
  => Não foi passado nehum valor

pode falar... agora eu consegui te impressionar! :)

Por enquanto vamos ficar por aqui, mas ainda temos muito para ver sobre métodos em Ruby.
Aguardem o próximo post.

Abraço!

Iuri Menescal

Sobre Iuri Menescal

Natural de Nova Iguaçu, desenvolve software desde 1998, tendo atuado em projetos para diferentes segmentos de mercado. Em seu currículo constam linguagens como Delphi, Java, ASP, Flex, JavaScript, Action Script, C# e Ruby. Atualmente trabalha como desenvolvedor Ruby on Rails da Intelie.
Comentários (4) Trackbacks (2)
  1. Esse negócio de linguagens dinâmicas está te fazendo bem mesmo, você tem até usado vírgulas nos seus textos agora ;-)

  2. Dá para definir um método dentro de outro método?

  3. Luty, espera o próximo post para você ver, da para definir método dentro de outro método de uma forma mais legal!
    Da para praticamente passar outro método como parâmetro.

  4. Beleza! Mas acho melhor você não não postar não, se o Luiz ver vai fazer um refactory na mesma hora.


Deixar um comentário