17
没有可变状态怎么办?
最近,我已经阅读了很多有关函数式编程的文章,并且我能理解其中的大部分内容,但是我无能为力的一件事就是无状态编码。在我看来,通过删除可变状态来简化编程就像通过删除仪表板来“简化”汽车:最终产品可能更简单,但好运使其与最终用户互动。 我能想到的几乎每个用户应用程序都将状态作为核心概念。如果您写文档(或SO帖子),则状态随着每次新输入而改变。或者,如果您玩电子游戏,则有很多状态变量,从所有角色的位置开始,这些角色往往会不断移动。在不跟踪值更改的情况下,您怎么可能做些有用的事情? 每次我找到讨论此问题的内容时,都是用真正的技术功能性的语言编写的,这些功能假定我没有丰富的FP背景。有谁知道一种方法来向对命令性编码有很好而扎实的理解的人解释这一点,但是在功能方面谁是完整的n00b? 编辑:到目前为止,很多答复似乎都在试图说服我不变价值的优势。我明白了。这是很合理的。我不明白的是,如何在没有可变变量的情况下跟踪必须更改的值并不断更改。