Macros Rust宏可以创建编译时字符串吗?

Macros Rust宏可以创建编译时字符串吗?,macros,rust,Macros,Rust,默认情况下,宏变量在Rust宏中转义。有没有办法不让他们逃跑 macro_rules! some { ( $var:expr ) => ( "$var" ); } some!(1) // returns "$var", not "1" 这对于连接编译时字符串等非常有用。听起来像是您想要: 你可能也会想要 另见: macro_rules! some { ( $var:expr ) => ( stringify!($var) ); } fn main() {

默认情况下,宏变量在Rust宏中转义。有没有办法不让他们逃跑

macro_rules! some {
    ( $var:expr ) => ( "$var" );
}

some!(1) // returns "$var", not "1"
这对于连接编译时字符串等非常有用。

听起来像是您想要:

你可能也会想要

另见:

macro_rules! some {
    ( $var:expr ) => ( stringify!($var) );
}

fn main() {
    let s = some!(1);
    println!("{}", s);
}