Меня интересует функциональное программирование , поэтому я решил попробовать этот подход в среде сценариев моего Google Sheets файла, и вы знаете, что язык сценариев Google Apps Script , который в основном javascript. И он даже поддерживает некоторый (если не весь) синтаксис ES6.
Проблема в том, что я не могу напрямую запустить какой-либо код, например:
let a = 4;
Logger.log(a);
Я имею в виду, я не могу запустить его глобально Мне нужно определить функцию с любым именем, а затем поместить код в эту функцию, и я могу запустить функцию, чтобы функция запускала код внутри.
Итак, возможно, вы спросите: «почему это поведение создает проблемы при написании чистого функционального кода? " ну, потому что, как я знаю, два самых важных фактора о чистых функциях:
1) Мы не должны использовать глобальные переменные / функции внутри функции, вместо этого мы должны передавать в качестве параметров (и тогда в качестве аргументов, конечно).
2) определение функции внутри функции часто не очень хорошая идея с точки зрения читабельности и организации кода.
Итак, я хочу определить больше функций (для выполнения каких-то задач), а не только одну «основную» функцию, и я не смог найти никакого способа, какого-либо единственного способа написания кода (в целом) без нарушения хотя бы одной из два утверждения выше.
Итак, я имею в виду, я не могу ничего написать, не выполнив хотя бы одну не чистую функцию.