From e67dafa971291ddecd4852ac7c1be0e4c49f535f Mon Sep 17 00:00:00 2001 From: seth <yesifan66@gmail.com> Date: Fri, 25 Jun 2021 15:04:52 +0800 Subject: [PATCH] complete: macros --- exercises/macros/macros1.rs | 4 +--- exercises/macros/macros2.rs | 11 +++++------ exercises/macros/macros3.rs | 3 +-- exercises/macros/macros4.rs | 6 ++---- exercises/quiz4.rs | 7 ++++++- 5 files changed, 15 insertions(+), 16 deletions(-) diff --git a/exercises/macros/macros1.rs b/exercises/macros/macros1.rs index ed0dac8..de2584a 100644 --- a/exercises/macros/macros1.rs +++ b/exercises/macros/macros1.rs @@ -1,8 +1,6 @@ // macros1.rs // Make me compile! Execute `rustlings hint macros1` for hints :) -// I AM NOT DONE - macro_rules! my_macro { () => { println!("Check out my macro!"); @@ -10,5 +8,5 @@ macro_rules! my_macro { } fn main() { - my_macro(); + my_macro!(); } diff --git a/exercises/macros/macros2.rs b/exercises/macros/macros2.rs index d0be123..50ff07a 100644 --- a/exercises/macros/macros2.rs +++ b/exercises/macros/macros2.rs @@ -1,14 +1,13 @@ // macros2.rs // Make me compile! Execute `rustlings hint macros2` for hints :) -// I AM NOT DONE - -fn main() { - my_macro!(); -} - macro_rules! my_macro { () => { println!("Check out my macro!"); }; } + +fn main() { + + my_macro!(); +} \ No newline at end of file diff --git a/exercises/macros/macros3.rs b/exercises/macros/macros3.rs index 93a4311..9caa0df 100644 --- a/exercises/macros/macros3.rs +++ b/exercises/macros/macros3.rs @@ -2,9 +2,8 @@ // Make me compile, without taking the macro out of the module! // Execute `rustlings hint macros3` for hints :) -// I AM NOT DONE - mod macros { + #[macro_export] macro_rules! my_macro { () => { println!("Check out my macro!"); diff --git a/exercises/macros/macros4.rs b/exercises/macros/macros4.rs index 3a74807..5608ecc 100644 --- a/exercises/macros/macros4.rs +++ b/exercises/macros/macros4.rs @@ -1,15 +1,13 @@ // macros4.rs // Make me compile! Execute `rustlings hint macros4` for hints :) -// I AM NOT DONE - macro_rules! my_macro { () => { println!("Check out my macro!"); - } + }; ($val:expr) => { println!("Look at this other macro: {}", $val); - } + }; } fn main() { diff --git a/exercises/quiz4.rs b/exercises/quiz4.rs index 6c47480..daa1867 100644 --- a/exercises/quiz4.rs +++ b/exercises/quiz4.rs @@ -5,7 +5,12 @@ // Write a macro that passes the quiz! No hints this time, you can do it! -// I AM NOT DONE +#[macro_export] +macro_rules! my_macro { + ($val:expr) => { + format!("Hello {}", $val) + }; +} #[cfg(test)] mod tests {