本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。