我正在寻找业务应用程序中State Monad的简单示例。
我找到了很好的例子 - memoisation来计算斐波纳契数和随机数generation - 但我想看一个来自业务领域的例子(最好是在Scala中)。
例如,我可以轻松找到使用Option,Either,List,Reader和Writer monad的示例:
现在我正在为State monad寻找类似的东西,即我所理解的具有可变状态的任何有状态计算。
答案 0 :(得分:3)
我到达State
的典型应用是我需要提供值的地方,例如随机数生成器或一系列唯一标识符。
另一个典型用例是测试与数据库交互的应用程序。使用State
,您可以模拟内存数据库并检查程序是否以预期的方式操作数据库。