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