Initial commit
This commit is contained in:
10
solutions/21_macros/macros1.rs
Normal file
10
solutions/21_macros/macros1.rs
Normal file
@@ -0,0 +1,10 @@
|
||||
macro_rules! my_macro {
|
||||
() => {
|
||||
println!("Check out my macro!");
|
||||
};
|
||||
}
|
||||
|
||||
fn main() {
|
||||
my_macro!();
|
||||
// ^
|
||||
}
|
||||
10
solutions/21_macros/macros2.rs
Normal file
10
solutions/21_macros/macros2.rs
Normal file
@@ -0,0 +1,10 @@
|
||||
// Moved the macro definition to be before its call.
|
||||
macro_rules! my_macro {
|
||||
() => {
|
||||
println!("Check out my macro!");
|
||||
};
|
||||
}
|
||||
|
||||
fn main() {
|
||||
my_macro!();
|
||||
}
|
||||
13
solutions/21_macros/macros3.rs
Normal file
13
solutions/21_macros/macros3.rs
Normal file
@@ -0,0 +1,13 @@
|
||||
// Added the attribute `macro_use` attribute.
|
||||
#[macro_use]
|
||||
mod macros {
|
||||
macro_rules! my_macro {
|
||||
() => {
|
||||
println!("Check out my macro!");
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
my_macro!();
|
||||
}
|
||||
15
solutions/21_macros/macros4.rs
Normal file
15
solutions/21_macros/macros4.rs
Normal file
@@ -0,0 +1,15 @@
|
||||
// Added semicolons to separate the macro arms.
|
||||
#[rustfmt::skip]
|
||||
macro_rules! my_macro {
|
||||
() => {
|
||||
println!("Check out my macro!");
|
||||
};
|
||||
($val:expr) => {
|
||||
println!("Look at this other macro: {}", $val);
|
||||
};
|
||||
}
|
||||
|
||||
fn main() {
|
||||
my_macro!();
|
||||
my_macro!(7777);
|
||||
}
|
||||
Reference in New Issue
Block a user