J'apprends la programmation fonctionnelle, et j'ai essayé de résoudre quelques problèmes dans un style fonctionnel. Une chose que j'ai vécue, en divisant mon problème en fonctions, était qu'il me semblait avoir deux options: utiliser plusieurs fonctions disparates avec des listes de paramètres similaires, ou utiliser des fonctions imbriquées qui, comme fermetures, peuvent simplement faire référence à des liaisons dans la fonction parent. Bien que j'aie fini avec la seconde approche, parce qu'elle rendait les appels de fonction plus petits et qu'elle semblait "mieux" sentir, d'après ma lecture, il me semble qu'il me manque peut-être un des points principaux de la programmation fonctionnelle, en ce sens cela semble "side-effecty"? Maintenant accordé, ces fonctions imbriquées ne peuvent pas modifier les liaisons externes, car le langage que j'utilisais empêche cela, mais si vous regardez chaque fonction interne individuelle, vous ne pouvez pas dire "donné les mêmes paramètres, cette fonction retournera les mêmes résultats" parce qu'ils utilisent les variables de la portée parent ... ai-je raison?Fonctions imbriquées: Utilisation incorrecte des effets secondaires?
Quelle est la manière souhaitable de procéder?
Merci!
facHelper ne fait référence à aucune valeur externe - elle est toujours purement fonctionnelle. –