一个小型的 Rust 库,用于向枚举中添加自定义派生类
Strum 是一组宏和特性,可在 Rust 中更轻松地处理枚举和字符串。
Strum 目前与 rustc >= 1.71.1 版本兼容。提交的拉取请求如果能提高与旧版本的兼容性,将会被接受。 版本均受欢迎。项目目标是在发布后至少 2 年内支持 Rust 版本。 而且更长的时间更为理想,因为这个项目变化缓慢。
通过在项目中添加以下行来将 strum 和 strum_macros 导入到项目中: Cargo.toml 中的 Strum_macros 包含用于导出 Strum 中所有特性所需的宏。
strum = "0.28"
strum_macros = "0.28"
# You can also use the "derive" feature, and import the macros directly from "strum"
# strum = { version = "0.28", features = ["derive"] }Strum 实现了以下宏:
| 宏 | 描述 |
|---|---|
| [EnumString] | 根据名称将字符串转换为枚举变体。 |
| [Display] | 将枚举变体转换为字符串。 |
| [FromRepr] | 从整数转换为枚举。 |
| [AsRefStr] | 为 MyEnum 实现 AsRef<str>。 |
| [IntoStaticStr] | 为枚举实现 From<MyEnum> for &'static str。 |
| [EnumIter] | 创建一个新类型,用于枚举变体的迭代。 |
| [EnumProperty] | 为枚举变体添加自定义属性。 |
| [EnumMessage] | 为枚举变体添加详细消息。 |
| [EnumDiscriminants] | 生成只包含区分符名称的新类型。 |
| [EnumCount] | 添加一个等于变体数量的 usize 常量。 |
| [VariantArray] | 添加一个 VARIANTS 常量,它是包含所有枚举区分符的数组。 |
| [VariantNames] | 添加一个 VARIANTS 常量,它是包含区分符名称的数组。 |
[dependencies]
暂无开放 Issues,或尚未同步最近议题。