simple-enum 0.1.0

easier to use rust enum
Documentation
# Simple Enum

一个Rust派生宏,用于在枚举上自动实现常用的方法。

## 功能

这个宏会为你的枚举自动生成以下方法:

- `to_str()` - 将枚举变体转换为字符串
- `get_code()` - 获取枚举变体的代码值
- `from_code()` - 根据代码值创建枚举变体
- `desc()` - 获取枚举变体的描述

## 使用方法

在你的枚举上使用 `#[derive(SimpleEnum)]`,并为每个变体添加 `#[simple_enum(code = X, desc = "描述")]` 属性:

```rust
use simple_enum::SimpleEnum;

// 支持整数类型的code
#[derive(SimpleEnum, Debug, PartialEq)]
pub enum Status {
    #[simple_enum(code = 1, desc = "活跃状态")]
    Active,
    #[simple_enum(code = 0, desc = "非活跃状态")]
    Inactive,
    #[simple_enum(code = 2, desc = "暂停状态")]
    Suspended,
}

// 支持字符串类型的code
#[derive(SimpleEnum, Debug, PartialEq)]
pub enum UserType {
    #[simple_enum(code = "admin", desc = "管理员用户")]
    Admin,
    #[simple_enum(code = "user", desc = "普通用户")]
    Regular,
    #[simple_enum(code = "guest", desc = "访客用户")]
    Guest,
}
```

## 使用示例

```rust
fn main() {
    let status = Status::Active;
    
    // 获取字符串表示
    println!("{}", status.to_str()); // "Active"
    
    // 获取代码值
    println!("{}", status.get_code()); // 1
    
    // 获取描述
    println!("{}", status.desc()); // "活跃状态"
    
    // 根据代码值创建枚举
    let status_from_code = Status::from_code(1);
    assert_eq!(status_from_code, Some(Status::Active));
    
    // 字符串类型的code
    let user_type = UserType::from_code("admin");
    assert_eq!(user_type, Some(UserType::Admin));
}
```

## 支持的代码类型

- 整数类型 (`i32`, `u32`, 等)
- 字符串类型 (`&str`)

宏会自动推断code的类型并生成相应的方法签名。

## 运行示例

```bash
cargo run --bin example
```

这将运行包含的示例代码,展示不同类型code的使用方法。