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
July 15th, 2009 - 22:38
Esse negócio de linguagens dinâmicas está te fazendo bem mesmo, você tem até usado vírgulas nos seus textos agora
July 15th, 2009 - 22:49
Dá para definir um método dentro de outro método?
July 15th, 2009 - 23:28
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.
July 16th, 2009 - 21:58
Beleza! Mas acho melhor você não não postar não, se o Luiz ver vai fazer um refactory na mesma hora.