DRY e Blocos de Código com Ruby
O Iuri já mostrou num post anterior, como criar métodos (funções) em ruby. Sendo assim somos praticamente craques em construir funções ruby. Neste post vamos explorar recursos avançados e interessantes das funçoes ruby, para isso, utilizaremos um array com alguns nomes.
Problema Inicial:
Devemos criar um método que seja capaz de percorrer um array, exibindo seus elementos. (Ok, tudo bem nós sabemos que todo array possui um método each. Mas vamos fingir que esse kra não existe)
lista = ["sergio","roberto", "iuri","luiz"] def mostra_elementos( array ) for elemento in array puts elemento end end mostra_elementos(lista)
Ótimo! Atingimos nosso objetivo. O codigo acima exibira os nomes contidos no array.
Os requisitos mudaram:
Agora nós queremos percorrer o array exibindo cada um de seus elementos ao contrario, por exemplo, "sergio" será exibido como "oigres". Podemos criar um novo método para isso, então vamos ao trabalho:
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:
Aprenda Ruby – parte IV – mais um pouco sobre Array
Nessa sequência de artigos sobre Ruby, venho tentando escrever artigos que não sejam muito extensos, justamente para que você aprenda Ruby ao modo Ruby, ou seja, prático, rápido e simples.
Mas depois de publicar o último post, tive um retorno tão bom que fiquei empolgado em escrever outro logo
.
Alem disso, fiquei com uma sensação de que estava faltando alguma coisa, como disse antes o foco não é mostrar os métodos de cada classe do Ruby, mas o Array em Ruby é tão maneiro que eu tinha que mostrar mais algumas coisas legais.