#macro-derive #name #struct #greeting #generate #traits #hello-macro

bogdan_hello_macro_derive

添加了一个名为hello_macro的方法,该方法根据结构体的名称生成问候语

3个版本

0.1.7 2024年8月3日
0.1.6 2024年8月3日
0.1.5 2024年8月3日

#1125 in 过程宏

Download history 227/week @ 2024-07-29 63/week @ 2024-08-05

290 每月下载量

MIT/Apache

6KB

HelloMacro

HelloMacro 是一个Rust过程宏,它可以自动为任何结构体或枚举实现 HelloMacro 特性。这个特性包含一个方法,hello_macro,它打印出一个包含类型名称的问候消息。

用法

要使用 HelloMacro 特性宏,将其添加到你的 Cargo.toml 文件中的依赖项

[dependencies]
bogdan_hello_macro = "0.1.7"
bogdan_hello_macro_derive = "0.1.7"

在你的代码中添加以下内容

use bogdan_hello_macro::HelloMacro;
use bogdan_hello_macro_derive::HelloMacro;

然后,你可以在任何结构体或枚举上使用HelloMacro特性宏

use bogdan_hello_macro::HelloMacro;
use bogdan_hello_macro_derive::HelloMacro;

#[derive(HelloMacro)]
struct Pancakes;

fn main() {
    Pancakes::hello_macro(); // Prints: "Hello, Macro! My name is Pancakes!"
}

示例

以下是一个使用HelloMacro特性宏的完整示例

use bogdan_hello_macro::HelloMacro;
use bogdan_hello_macro_derive::HelloMacro;

#[derive(HelloMacro)]
struct Waffles;

#[derive(HelloMacro)]
enum Breakfast {
    Eggs,
    Bacon,
}

fn main() {
    Waffles::hello_macro(); // Prints: "Hello, Macro! My name is Waffles!"
    Breakfast::Eggs.hello_macro(); // Prints: "Hello, Macro! My name is Eggs!"
    Breakfast::Bacon.hello_macro(); // Prints: "Hello, Macro! My name is Bacon!"
}

依赖项

~265–710KB
~17K SLoC