//修订1
而不是构建命令行插件(它获取新的环境状态,因此函数本身无法保留状态@T.J. Crowder) ,假设我正在构建一个要在脚本中调用的简单函数。
简单示例:(计数器插件)我希望插件每次运行时都加一。
即。
console.log(counter())
-> 1
console.log(counter())
-> 2
我认为答案与递归循环有关,但我不明白如何实现这一点?
我最好的猜测是它看起来像这样:
export function counter(){
return counter
}
<小时/>
//第一个版本
我正在使用 immutablejs 构建一个命令行节点插件。
简单示例:(计数器插件)我希望插件每次运行时都加一。
即。
$ node bin/counter
-> 1
$ node bin/counter
-> 2
我认为答案与递归循环有关,但我不明白如何实现这一点?
我最好的猜测是它看起来像这样:
export function counter(){
return counter
}
最佳答案
I assume that the answer has something to do with a recursive loop...
不,这与递归无关。
您需要让“插件”在某处存储其状态,因为每次通过 node
运行它时,它都会获得一个全新的全局环境。
例如,它可能将该数据存储在文件中。
关于javascript - 如何使用不可变的 javascript 模拟状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35256193/