Trilha Júnior Trilha

Modules: prepend vs include

O curso mostra como o Ruby decide qual corpo de método roda quando uma classe e um módulo definem o mesmo nome. Com .ancestors, fica claro que include põe o módulo depois da classe e prepend põe antes. As aulas fazem traces com puts, seguem o super um passo pela cadeia, juntam as duas palavras-chave numa classe e explicam o NoMethodError quando o super não encontra nada. A última aula compara quando usar cada uma, inclusive para embrulhar um método sem editar a classe.

O que você vai aprender

  • ✓Como .ancestors define a ordem de busca de métodos no Ruby
  • ✓Onde include e prepend colocam o módulo em relação à classe
  • ✓Traces com puts para ver quais corpos de método rodam
  • ✓Como o super anda um passo em .ancestors
  • ✓Include e prepend juntos na mesma classe
  • ✓Quando usar include para comportamento compartilhado e prepend para embrulhar um método
Prévia grátis · Aula 1 3 min de leitura

Recap: include e a cadeia de ancestrais

Em Módulos Ruby você escreveu include SomeModule dentro do corpo de uma classe para misturar os métodos de um módulo em toda instância da classe. Este curso não ensina isso de novo. Ele responde a uma pergunta mais precisa, que o curso anterior só tocou. Quando o Ruby procura um método, em que…

Ler a aula completa grátis →

Currículo

7 aulas
Digite para buscar...