3 个版本
0.1.3 | 2023年4月4日 |
---|---|
0.1.2 | 2023年4月3日 |
0.1.0 | 2023年2月24日 |
#2497 in 算法
27 每月下载
17KB
265 行
nefsm
nefsm
是一个用于实现有限状态机的 Rust 库。它提供了一种灵活且可重用的方式来创建状态机,使开发者能够更轻松地思考复杂系统并设计更稳健可靠的软件。
安装
要在 Rust 项目中使用 nefsm
,只需将其添加到您的 Cargo.toml
文件中
[dependencies]
nefsm = "0.1.0"
lib.rs
:
一个简单的 Rust 状态机库,使用枚举定义状态和事件。
此库提供了一种简单、灵活的方式来在 Rust 中定义状态机。状态和事件使用 Rust 枚举定义,而状态机本身是一个泛型结构体,可以使用任何特定的枚举集进行实例化。
此库中使用的核心特质是 FsmEnum
和 Stateful
。
-
FsmEnum
是一个特质,它定义了如何根据给定的枚举值创建一个新的状态机状态。这用于在状态转换发生时实例化新的状态机状态。 -
Stateful
是一个特质,它定义了状态应该如何处理状态转换事件。 -
StateMachine
是表示状态机实例的主要结构体。它跟踪当前状态,并提供初始化状态机、处理事件和获取当前状态的方法。
此库旨在易于使用,同时足够灵活,可以处理各种状态机设计。
依赖关系
~0.6–1.2MB
~23K SLoC