2 个版本
使用旧的Rust 2015
0.1.2 | 2018年3月28日 |
---|---|
0.1.0 | 2018年3月27日 |
#52 in #int
在 from_int 中使用
4KB
64 行
from_int — ![最新版本](https://img.shields.io/crates/v/from_int.svg)
动机
该crate提供了一种简单的方法将普通整数转换为枚举类型,而Rust目前只能在本方向上原生实现。
用法
from_int
的使用非常简单。只需将其作为依赖项添加到您的crate中,然后
extern crate from_int; // contains the trait
#[macro_use] extern crate from_int_derive; // contains the macro
use from_int::FromInt;
#[derive(FromInt, Debug, PartialEq)]
enum TestEnum {
VariantOne = 1,
VariantTwo = 2,
VariantThree = 528,
VariantX = 999
}
assert_eq!(TestEnum::VariantOne, TestEnum::from_int(1).unwrap());
assert_eq!(TestEnum::VariantTwo, TestEnum::from_int(2).unwrap());
assert_eq!(TestEnum::VariantThree, TestEnum::from_int(528).unwrap());
assert_eq!(TestEnum::VariantX, TestEnum::from_int(999).unwrap());
// This would panic:
assert_eq!(None, TestEnum::from_int(123));
依赖项
~2MB
~47K SLoC