Ich lerne funktionale Programmierung und habe versucht, ein paar Probleme in einem funktionalen Stil zu lösen. Eine Sache, die ich bei der Aufteilung meines Problems in Funktionen erlebte, war, dass ich zwei Möglichkeiten hatte: verschiedene Funktionen mit ähnlichen Parameterlisten zu verwenden oder verschachtelte Funktionen zu verwenden, die sich als Closures einfach auf Bindungen in der Elternfunktion beziehen können.Verschachtelte Funktionen: Falsche Verwendung von Nebenwirkungen?
Obwohl ich mit dem zweiten Ansatz ging, weil es die Funktionsaufrufe kleiner machte und es sich "besser" anfühlte, scheint mir aus meiner Lektüre einer der Hauptpunkte der funktionalen Programmierung darin zu fehlen das scheint "nebenwirkend" zu sein? Diese geschachtelten Funktionen können die äußeren Bindungen nicht ändern, da die Sprache, die ich verwendete, dies verhindert, aber wenn man sich jede einzelne innere Funktion ansieht, kann man nicht sagen: "Bei denselben Parametern liefert diese Funktion die gleichen Ergebnisse" weil sie die Variablen aus dem übergeordneten Bereich verwenden ... habe ich recht?
Was ist der gewünschte Weg?
Danke!
facHelper bezieht sich nicht auf irgendwelche externen Werte - es ist immer noch rein funktional. –