rust-ape-example/src/bin/macros_dsl.rs
2022-09-07 10:49:49 +05:30

27 lines
405 B
Rust

// ./src/macros/dsl.md
macro_rules! calculate {
(eval $e:expr) => {
{
let val: usize = $e; // Force types to be integers
println!("{} = {}", stringify!{$e}, val);
}
};
}
fn part0() {
calculate! {
eval 1 + 2 // hehehe `eval` is _not_ a Rust keyword!
}
calculate! {
eval (1 + 2) * (3 / 4)
}
}
pub fn main() {
part0();
}