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

ordinalizer

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

1个不稳定版本

0.1.0 2020年5月6日

#18#序数

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

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