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

  1. Luty says:

    Esse negócio de linguagens dinâmicas está te fazendo bem mesmo, você tem até usado vírgulas nos seus textos agora ;-)

  2. Luty says:

    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. Luty says:

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

  1. [...] Iuri já mostrou num post anterior, como criar métodos (funções) em ruby. Sendo assim somos praticamente craques em construir [...]

  2. [...] foi muito fácil! Afinal de contas já sabemos "tudo" sobre criar métodos em ruby. Então vamos tornar o exemplo mais interessante. Eu quero poder usar o metodo seja_educado das [...]

Leave a Reply