我发现了这个警告:
警告:状态变量绝不是函数的参数。
但据我之前听说过,在函数式编程中,如果函数引用状态变量,它们就会被破坏。它们将不再是纯函数。它们将很难测试,做不可预测的工作,无法记忆......等等。状态变量也应该作为参数传递,而不仅仅是一些全局常量。
所以我想知道
- HTDP 是不是在争论有什么问题,
- 在某些函数式编程实践中,是否允许全局状态变量?或者
- 我有错误的想法?
提前致谢。
免责声明:我非常喜欢和尊重这本书并且学到了很多东西。其实我想把这本书的好话传播给我的朋友(如果有的话)。所以不要误会。