Macro std::concat_idents [−][src]
macro_rules! concat_idents { ($($e:ident),+ $(,)?) => { ... }; }
🔬 This is a nightly-only experimental API. (concat_idents
#29599)
concat_idents
is not stable enough for use and is subject to change
Expand description
将标识符串联为一个标识符。
该宏采用任意数量的逗号分隔的标识符,并将它们全部连接为一个,从而产生一个表达式,该表达式是一个新的标识符。 请注意,卫生使该宏无法捕获本地变量。 同样,作为一般规则,只允许在项,语句或表达式位置使用宏。 这意味着尽管您可以使用此宏来引用现有的变量,函数或模块等,但是您无法使用它来定义一个新的宏。
Examples
#![feature(concat_idents)] fn foobar() -> u32 { 23 } let f = concat_idents!(foo, bar); println!("{}", f()); // fn concat_idents!(new, fun, name) { } // 无法以这种方式使用!Run