3 个版本
使用旧的 Rust 2015
0.1.2 | 2018年4月12日 |
---|---|
0.1.1 | 2018年4月11日 |
0.1.0 | 2018年4月11日 |
#34 in #string-representation
7KB
此 crate 提供了一个宏,用于创建单元枚举,以及枚举变体到字符串表示和反向的转换。
为什么还需要另一个 crate?
字符串表示不必与枚举变体的标识符相同。下面示例中提供了解释。
示例
#[macro_use] extern crate enum_str;
use std::str::FromStr;
use enum_str::{Error, AsStr};
fn main() {
enum_str! {
Fruit,
(Apple, "🍎"),
(Pineapple, "🍍"),
(Strawberry, "🍓"),
}
assert_eq!("🍎", Fruit::Apple.as_str());
assert_eq!(Fruit::Apple, Fruit::from_str("🍎").unwrap());
}
lib.rs
:
此 crate 提供了一个宏,用于创建单元枚举,以及枚举变体到字符串表示和反向的转换。
为什么还需要另一个 crate?
字符串表示不必与枚举变体的标识符相同。下面示例中提供了解释。
示例
#[macro_use] extern crate enum_str;
use std::str::FromStr;
use enum_str::{Error, AsStr};
fn main() {
enum_str! {
Fruit,
(Apple, "🍎"),
(Pineapple, "🍍"),
(Strawberry, "🍓"),
}
assert_eq!("🍎", Fruit::Apple.as_str());
assert_eq!(Fruit::Apple, Fruit::from_str("🍎").unwrap());
}
依赖
~1.5MB
~38K SLoC