Je vais vous présenter le malentendu sur le module que j'étudiais Ruby.
⬇ Code en cas de malentendu ⬇ ⬇ Code correct (je vous serais reconnaissant si vous pouviez signaler des erreurs) ⬇ La différence est dans "thinkable.rb" où le module est décrit.
require "./human"
La différence est qu'il y en ait ou non.
En fait, il n'y a pas de changement dans le résultat de l'exécution avec ou sans lui, mais cette description est inutile et ne doit pas être faite.
### Pourquoi avez-vous fait une telle erreur en premier lieu?
La raison pour laquelle j'ai fait une telle erreur est que je n'ai pas bien compris le module, mais j'ai utilisé "self.hobby" défini dans "human.rb" dans le module. C'est pourquoi vous devez lire "human.rb" comme "tahinkable.rb". Parce que je pensais ça.
#### **`require "./human"`**
Le résultat n'a pas changé avec ou sans la description de, alors quand j'ai demandé au mentor du Teac Acadmy que j'assistais, il a gentiment répondu.
La réponse est
le module ne fonctionne qu'après Mix-in Puisque "self.hobby" est également décrit comme se référant à la destination "self.hobby", il fonctionne lorsqu'il est chargé dans "Human" même si "./human" n'est pas chargé.
C'était ça. En d'autres termes, le module ne fonctionne que lorsqu'il est chargé dans une classe.
J'ai pu éliminer un malentendu.
Comme mentionné ci-dessus, j'ai introduit le malentendu que j'avais fait en tant que débutant.
Recommended Posts