当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust concat_idents用法及代码示例


本文简要介绍rust语言中 Macro std::concat_idents 的用法。

用法

macro_rules! concat_idents {
    ($($e : ident), + $(,) ?) => { ... };
}

将标识符连接成一个标识符。

这个宏接受任意数量的逗号分隔标识符,并将它们全部连接成一个,产生一个新标识符的表达式。请注意,卫生使得该宏无法捕获局部变量。此外,作为一般规则,宏只允许在项目、语句或表达式位置。这意味着虽然你可以使用这个宏来引用现有的变量、函数或模块等,但你不能用它定义一个新的。

例子

#![feature(concat_idents)]

fn foobar() -> u32 { 23 }

let f = concat_idents!(foo, bar);
println!("{}", f());

// fn concat_idents!(new, fun, name) { } // not usable in this way!

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Macro std::concat_idents。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。