Skip to content
On this page

宏2:exercises/macros/macros2.rs

题目

rust
// macros2.rs
//
// Execute `rustlings hint macros2` or use the `hint` watch subcommand for a
// hint.

// I AM NOT DONE

fn main() {
    my_macro!();
}

macro_rules! my_macro {
    () => {
        println!("Check out my macro!");
    };
}

题目解析

在一个文件里调用宏之前必须定义它,或将其引入作用域,而函数则可以在任何地方定义和调用。

rust
fn main() {
    my_macro!();
}

#[macro_export] 
macro_rules! my_macro {
    () => {
        println!("Check out my macro!");
    };
}

或者将宏的定义放到调用的调用的地方前面:

rust
macro_rules! my_macro { 
    () => { 
        println!("Check out my macro!"); 
    }; 
} 

fn main() {
    my_macro!();
}

macro_rules! my_macro { 
    () => { 
        println!("Check out my macro!"); 
    }; 
} 

参考资料

Powered by VitePress