#枚举 #宏推导 #显示 #推导 #

enum-display

一个用于推导枚举 Display 的宏

5 个版本

0.1.4 2024 年 2 月 9 日
0.1.3 2022 年 9 月 28 日
0.1.2 2022 年 9 月 28 日
0.1.1 2022 年 9 月 28 日
0.1.0 2022 年 9 月 28 日

#260Rust 模式

Download history 11100/week @ 2024-04-14 11046/week @ 2024-04-21 9018/week @ 2024-04-28 10787/week @ 2024-05-05 7655/week @ 2024-05-12 6968/week @ 2024-05-19 5636/week @ 2024-05-26 5055/week @ 2024-06-02 4326/week @ 2024-06-09 4977/week @ 2024-06-16 4589/week @ 2024-06-23 4284/week @ 2024-06-30 2232/week @ 2024-07-07 2915/week @ 2024-07-14 3089/week @ 2024-07-21 2345/week @ 2024-07-28

10,716 每月下载
用于 12 个 (5 直接)

MIT 许可证

6KB
83 代码行

enum-display

enum-display 是一个用于使用宏实现 std::fmt::Display 的包。

简单示例

use enum_display::EnumDisplay;

#[derive(EnumDisplay)]
enum Color {
  Red,
  Green,
  Blue,
}

assert_eq!(Color::Red.to_string(), "Red");
assert_eq!(Color::Green.to_string(), "Green");
assert_eq!(Color::Blue.to_string(), "Blue");

自定义情况转换示例

支持来自 convert_case 的任何情况。

use enum_display::EnumDisplay;

#[derive(EnumDisplay)]
#[enum_display(case = "Kebab")]
enum Message {
    HelloGreeting { name: String },
}

assert_eq!(Message::HelloGreeting { name: "Alice".to_string() }.to_string(), "hello-greeting");

lib.rs:

enum-display 是一个用于使用宏在枚举变体上实现 std::fmt::Display 的包。

简单示例

use enum_display::EnumDisplay;

#[derive(EnumDisplay)]
enum Color {
   Red,
   Green,
   Blue,
}

assert_eq!(Color::Red.to_string(), "Red");
assert_eq!(Color::Green.to_string(), "Green");
assert_eq!(Color::Blue.to_string(), "Blue");

自定义情况转换示例

支持来自 convert_case 的任何情况。

use enum_display::EnumDisplay;

#[derive(EnumDisplay)]
#[enum_display(case = "Kebab")]
enum Message {
    HelloGreeting { name: String },
}

assert_eq!(Message::HelloGreeting { name: "Alice".to_string() }.to_string(), "hello-greeting");

依赖项

~2MB
~43K SLoC