【发布时间】:2019-05-14 18:49:16
【问题描述】:
我正在编写新代码,而且我是 F# 新手。如何实现状态机
【问题讨论】:
-
贴出你试过的代码。
标签: f# state-machine state-space
我正在编写新代码,而且我是 F# 新手。如何实现状态机
【问题讨论】:
标签: f# state-machine state-space
这真的取决于你需要什么样的状态机——你应该写更多关于你的确切问题以更准确地指定问题。
但是,一种通用且非常常见的状态机编码模式是使用递归函数对状态进行建模并调用对状态转换进行建模。
例如,一个红绿灯->绿->橙->..循环的红绿灯可以写成:
let rec red () =
printfn "In red state"
green ()
and green () =
printfn "In green state"
orange ()
and orange () =
printfn "In orange state"
red ()
【讨论】: