Ruby alias e alias_method – Dicas de Ruby #1

Ruby alias e alias_method – Dicas de Ruby #1

Você já percebeu que a linguagem Ruby permite muitas vezes que a gente chame métodos no singular ou plural, ou até mesmo usando sinônimos e tudo continua funcionando? Pois bem, essa é uma das questões que os métodos alias e alias_method resolvem para a gente. Vamos conhecê-los?

 

Antes de começarmos

Programador(a), com esse artigo damos inicio a uma série chamada “Dicas de Ruby” onde vamos trazer conteúdos rápidos para você se aprofundar ainda mais no uso dessa linguagem incrível.

Esse artigo inicial foi escrito pelo nosso parceiro Jackson Pires do Videos de TI e está bem bacana, então bora \o/

 

O que são alias

Quando usamos Ruby, facilmente conseguimos fazer:

Ou seja, podemos usar o método length ou o método size que o resultado será o mesmo (porque size é um apelido “alias” para o método length).

Então, podemos tirar proveito dessa técnica para melhorar as chamadas dos nossos métodos, vamos ver um exemplo usando o método alias do ruby.

Imagine a seguinte classe:

A partir dessa classe podemos usar:

Mas, caso queiramos permitir que a mesmo método seja chamado por um apelido (alias), podemos fazer:

Com essa alteração conseguimos chamar o método de duas formas:

Percebemos que com esse simples método demos mais “vida” à nossa classe, tornando-a mais flexível.

alias vs alias_method

Além do método alias, existe também o método alias_method que é muito parecido, vejamos:

A primeira diferença que notamos é que precisamos informar os parâmetros separando-os por vírgula, além de serem informados como símbolos.

Sendo assim, podemos continuar usando:

Escopos

A maior diferença entre esses métodos fica por parte do escopo dos objetos, veja esse exemplo:

Note que apesar do alias_method estar definido na classe Usuário, ao usarmos o método “nome” a partir da classe Desenvolvedor o resultado apresentado é o da própria classe Desenvolvedor, ou seja, o escopo usado é o da classe a partir de onde foi invocado o método “nome.


Vamos ver agora o resultado quando usamos o alias ao invés do alias_method:

Conclusão

Dessa vez, podemos notar que mesmo usando o método “nome” a partir da classe Desenvolvedor, o resultado apresentado foi o nome definido na classe Usuario, ou seja, quando usamos o método alias, mesmo invocando o método “nome” a partir da classe Desenvolvedor, o retorno do método é o da classe pai Usuário.

 

Enfim, agora que você já conhece esses novos métodos, comece a tornar suas classes mais flexíveis!

Um forte abraço e até a próxima! 😉

 



12 formas de vencer o bloqueio criativo e escrever textos memoráveis (e 6 dicas extras)

Não perca nenhum conteúdo

Receba nosso resumo semanal com os novos posts, cursos, talks e vagas o/




Primeira vez no OneBitCode? Curtiu esse conteúdo?
O OneBitCode tem muito mais para você!


O OneBitCode traz conteúdos de qualidade, e em português, sobre programação com foco em Ruby on Rails e também JavaScript.
Além disso, aqui sempre levamos à você conteúdos valiosos sobre a carreira de programação, dicas sobre currículos, portfólios, perfil profissional, soft skills, enfim, tudo o que você precisa saber para continuar evoluindo como Programador(a)!

Fique por dentro de todos os conteúdos o/

 

Nossas redes sociais:

📹 • https://youtube.com/Onebitcode [Live todas as terças-feiras às 19h)
💻 • https://linkedin.com/company/onebitcode
🙂 • https://facebook.com/onebitcode
 📱  • https://instagram.com/one_bit_code
🐦 • https://twitter.com/onebitcode

 

Nossos cursos:

🥇 • Programador Full Stack Javascript em 8 Semanas
💎 • Curso Completo de Ruby
 ⚙  • online dating succes stories over 60
🐞 • bbw friendly dating sites

 

Espero que curta nossos conteúdos e sempre que precisar de ajuda, fala com a gente!
E
stamos aqui para você 🙂

Bem-vindo à família OneBitCode o/

0 0 votes
Article Rating
janeiro 17, 2020
Subscribe
Notify of
guest
1 Comentário
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Armando Del Col
4 anos atrás

muito interessante essa possibilidade de definição de alias e alias_method, que venham mais dicas \O

Feito com s2 por OneBitCode

1
0
Would love your thoughts, please comment.x
()
x
%d blogueiros gostam disto: