1个不稳定版本
0.1.0 | 2019年2月5日 |
---|
#20 in #from-str
每月下载量136
在 3 crate 中使用
4KB
52 代码行
enum-from-str-rs
允许为枚举启用 derive FromStr
概述
此库为枚举添加了 #[derive(FromStr)]
属性,从而允许将字符串解析为枚举变体。尽管有其他库允许这样做,如 enum_derive,但它只能解析具有变体确切名称的字符串。此库允许您为每个枚举变体定义一个自定义字符串。
基本用法
use enum_from_str::ParseEnumVariantError;
use enum_from_str_derive::FromStr;
#[derive(FromStr)]
enum SomeEnum {
#[from_str="foo"]
Foo,
Bar, // equals to #[from_str="Bar"]
}
fn example() {
"foo".parse::<SomeEnum>().unwrap();
"Bar".parse::<SomeEnum>().unwrap();
}
已知问题
目前,proc-macro crate 不允许导出除了过程宏函数之外的内容。这就是为什么 ParseEnumVariantError 在不同的 crate 中。当 Rust 允许这样做时,它应该被移动到单个 crate 中。
依赖项
~2MB
~47K SLoC