我想编写一个宏来定义类似以下的内容:
let FOO: String = "FOO".to_string();
我可以拥有一个宏:
macro_rules! my_macro {
($name: ident, $val: expr) => {
let $name: String = $val.to_string();
}
}
并将其用作 my_macro!(FOO, "FOO");
然而,这有点冗余。我希望有类似于 my_macro!(FOO)
的东西,它可以扩展并使用$name
作为标识符,也可以在字符串值中使用。