【发布时间】:2016-06-19 17:24:17
【问题描述】:
为什么不推荐使用 elixir 的 GenFsm 行为?
我想用GenFsm 行为实现有限状态机。
我认为Agent 不足以描述有限状态机。
因为,Agent 不适合描述从同一输入返回不同值的每个状态。
【问题讨论】:
标签: elixir erlang-otp
为什么不推荐使用 elixir 的 GenFsm 行为?
我想用GenFsm 行为实现有限状态机。
我认为Agent 不足以描述有限状态机。
因为,Agent 不适合描述从同一输入返回不同值的每个状态。
【问题讨论】:
标签: elixir erlang-otp
查看相关提交:https://github.com/elixir-lang/elixir/commit/455eb4c4ace81ce60b347558f9419fe3c33d8bf7
基本上,您现在可以直接从 OTP 中直接使用 :gen_fsm,而无需 Elixir 包装器。
【讨论】:
:gen_fsm。
Elixir 核心团队认为这太混乱了,建议开发人员寻求其他解决方案。
3 天前,我围绕它编写了一个 Elixir 包装器,并将其推送到名为 gen_fsm 的 hex.pm。这是 github 页面:https://github.com/pavlos/gen_fsm 如果您想查看它。
【讨论】:
:gen_fsm 在 Erlang/OTP 20.0 中也被:gen_statem 弃用和替换,所以使用通用状态机。有关更多信息,请查看有关Genstatem的链接
这是 Erlang/OTP 19.0 中的新行为。已经彻底 经过审查,足够稳定,至少可供两个重度 OTP 使用 应用程序,并留在这里。根据用户反馈,我们会 不期望但可以发现有必要使小而不落后 Erlang/OTP 20.0 的兼容更改
【讨论】: