本文简要介绍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 concat用法及代码示例
- Rust copy_nonoverlapping用法及代码示例
- Rust compile_error用法及代码示例
- Rust column用法及代码示例
- Rust compiler_fence用法及代码示例
- Rust copy用法及代码示例
- Rust char.is_control用法及代码示例
- Rust char.is_alphanumeric用法及代码示例
- Rust char.len_utf16用法及代码示例
- Rust char.is_digit用法及代码示例
- Rust char.is_ascii_graphic用法及代码示例
- Rust char.decode_utf16用法及代码示例
- Rust char.is_uppercase用法及代码示例
- Rust catch_unwind用法及代码示例
- Rust char.to_ascii_lowercase用法及代码示例
- Rust char.is_ascii_uppercase用法及代码示例
- Rust canonicalize用法及代码示例
- Rust create_dir用法及代码示例
- Rust ctlz用法及代码示例
- Rust channel用法及代码示例
- Rust char.escape_unicode用法及代码示例
- Rust char.is_alphabetic用法及代码示例
- Rust char.is_ascii_control用法及代码示例
- Rust char.from_u32_unchecked用法及代码示例
- Rust char.is_ascii_alphabetic用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Macro std::concat_idents。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。