Le module.register_attribute est-ce que le module d'Elixir est-il?
-
21-12-2019 - |
Question
Est-ce un moyen de créer un état mutable avec des modules?Comment utiliser cela peut-il être une bonne idée?Ce genre de casserait-il pas l'idée d'immutabilité de la programmation fonctionnelle?
La solution
Non, car il est utilisé à la compilation.C'est une sorte de #define en c.
Vous pouvez voir exemple https://gist.github.com/mprymek/8379066 OùAttribut "capteurs" est utilisé pour accumuler des fonctions définies avec "capteur" macro.Lorsque vous avez toutes ces fonctions accumulées, vous pouvez automatiquement générer la fonction "run_all" qui les utilise tous.Bien sûr, tout cela doit être fait à la compilation.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow