我对函数式编程很感兴趣,所以我决定在我的Google Sheets文件的脚本环境中尝试这种方法,你知道脚本语言是Google Apps Script,它基本上是javascript。它甚至支持一些(如果不是全部)ES6 语法。
问题是我不能直接运行任何代码,例如:
let a = 4;
Logger.log(a);
我的意思是,我不能全局运行它,我需要定义一个任何名称的函数,然后将代码放在那个函数里面,我可以运行这个函数,所以函数运行里面的代码。
所以,也许你会问,“为什么这种行为会导致编写纯函数式代码出现问题?” 好吧,因为据我所知,关于纯函数的两个最重要的因素是:
1)我们不能在函数内部使用全局变量/函数,而是必须作为参数传递(当然,然后作为参数)。
2) 就代码的可读性和组织而言,在函数内部定义函数通常不是一个好主意。
所以,我想定义更多函数(做一些事情),而不仅仅是一个“主要”函数,而且我找不到任何方法,任何单一的方法来编写代码(作为一个整体)而不违反两者中的至少一个上面的陈述。
所以,我的意思是,如果不创建至少一个非纯函数,我就不能写任何东西。