1 个不稳定版本
0.1.0 | 2019 年 2 月 5 日 |
---|
#16 在 #from-str
103 每月下载量
用于 2 crates
4KB
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 包不允许导出 proc-macro 函数以外的任何内容。这就是为什么 ParseEnumVariantError 在不同的包中。当 Rust 允许这样做时,它应该被移动到一个单独的包中。
依赖关系
~2MB
~47K SLoC