如何使用Monad实现全局计数器?
|
我需要一个全局计数器,从0、1、2、3等开始。
我有点理解,这个“不纯正”的代码应该单独实现...我才刚刚开始理解Monad,但不知道如何使用Monad实现此全局计数器?这对于了解是否有可能是非常有用的示例
没有找到相关结果
已邀请:
4 个回复
替秀宝
这里的'makeCounter \'创建一个全局的可变变量,该变量在调用之间保持其状态并破坏了纯度。例如,在主函数中,对\'testCounter \'的两个相同调用给出了不同的结果。
栖很钾是狠
monad来实现此功能,该计数器将计数器的当前值存储为状态。然后可以使用
获取当前计数器值,并使用
对其进行递增。 其中一个有用的变化是
monad,您可以在其中使用任意序列作为\“ counter \”,因此要使纯计数器从零开始,只需使用
作为电源即可。
蜂佬渺
呢率篓舍烫