Я изучаю функциональное программирование и попытался решить пару проблем в функциональном стиле. Одна вещь, которую я испытал, разделяя мою проблему на функции, заключалась в том, что у меня было два варианта: использовать несколько разрозненных функций с одинаковыми списками параметров или использовать вложенные функции, которые в качестве замыканий могут просто ссылаться на привязки в родительской функции.
Хотя в итоге я выбрал второй подход, потому что он уменьшал количество вызовов функций и, казалось, «чувствовал себя лучше», из моего чтения кажется, что я упускаю один из основных пунктов функционального программирования, в этом кажется "побочным эффектом"? Теперь предоставленные, эти вложенные функции не могут изменять внешние привязки, так как язык, который я использовал, предотвращает это, но если вы посмотрите на каждую отдельную внутреннюю функцию, вы не сможете сказать «при одинаковых параметрах эта функция будет возвращать те же результаты» потому что они используют переменные из родительской области ... я прав?
Какой желаемый способ продолжить?
Спасибо!