1 个不稳定版本

0.1.0 2019 年 2 月 5 日

#16#from-str

Download history 7/week @ 2024-03-11 23/week @ 2024-03-18 15/week @ 2024-03-25 43/week @ 2024-04-01 9/week @ 2024-04-08 15/week @ 2024-04-15 39/week @ 2024-04-22 9/week @ 2024-04-29 82/week @ 2024-05-06 50/week @ 2024-05-13 31/week @ 2024-05-20 14/week @ 2024-05-27 16/week @ 2024-06-03 14/week @ 2024-06-10 29/week @ 2024-06-17 41/week @ 2024-06-24

103 每月下载量
用于 2 crates

MIT 许可证

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