#枚举 #序数 #变体 #字段 #定义 #索引

ordinalizer

为枚举派生一个序数函数,返回枚举定义中变体的索引

1个不稳定版本

0.1.0 2020年5月6日

#18#序数

Download history 60/week @ 2024-04-01 17/week @ 2024-04-08 22/week @ 2024-04-15 17/week @ 2024-04-22 10/week @ 2024-04-29 22/week @ 2024-05-06 23/week @ 2024-05-13 29/week @ 2024-05-20 28/week @ 2024-05-27 23/week @ 2024-06-03 21/week @ 2024-06-10 31/week @ 2024-06-17 30/week @ 2024-06-24 3/week @ 2024-07-01 97/week @ 2024-07-08 56/week @ 2024-07-15

189 每月下载量
3 crates 中使用

MIT/Apache

7KB
73

一个简单的派生宏,为枚举生成一个 ordinal() 方法。

num_derive::ToPrimitive 不同,此派生宏允许非C样式的枚举。`ordinal` 函数反映了枚举的变体,不考虑字段。

示例

use ordinalizer::Ordinal;
#[derive(Ordinal)]
enum Animal {
    Dog,
    Cat {
        age: i32,
    }
}

assert_eq!(Animal::Dog.ordinal(), 0);
assert_eq!((Animal::Cat { age: 10 }).ordinal(), 1);

依赖项

~1.5MB
~36K SLoC