【问题标题】:How to implement a state machine using F#? And how do you transition?如何使用 F# 实现状态机?以及如何过渡?
【发布时间】:2019-05-14 18:49:16
【问题描述】:

我正在编写新代码,而且我是 F# 新手。如何实现状态机

【问题讨论】:

标签: f# state-machine state-space


【解决方案1】:

这真的取决于你需要什么样的状态机——你应该写更多关于你的确切问题以更准确地指定问题。

但是,一种通用且非常常见的状态机编码模式是使用递归函数对状态进行建模并调用对状态转换进行建模。

例如,一个红绿灯->绿->橙->..循环的红绿灯可以写成:

let rec red () = 
  printfn "In red state"
  green ()

and green () = 
  printfn "In green state"
  orange ()

and orange () = 
  printfn "In orange state"
  red ()

【讨论】:

    猜你喜欢
    • 2018-10-15
    • 2011-08-12
    • 1970-01-01
    • 2021-07-31
    • 2017-04-26
    • 2020-10-31
    • 2019-04-12
    • 1970-01-01
    • 2014-04-06
    相关资源
    最近更新 更多