本文简要介绍rust语言中 Macro core::include
的用法。
用法
macro_rules! include {
($file : expr $(,) ?) => { ... };
}
根据上下文将文件解析为表达式或项。
该文件相对于当前文件定位(类似于如何找到模块)。提供的路径在编译时以特定于平台的方式进行解释。因此,例如,使用包含反斜杠 \
的 Windows 路径的调用将无法在 Unix 上正确编译。
使用这个宏通常是个坏主意,因为如果文件被解析为表达式,它将不卫生地放置在周围的代码中。如果当前文件中存在同名的变量或函数,这可能会导致变量或函数与文件预期的不同。
例子
假设同一目录下有两个文件,内容如下:
文件'monkeys.in':
['🙈', '🙊', '🙉']
.iter()
.cycle()
.take(6)
.collect::<String>()
文件'main.rs':
fn main() {
let my_string = include!("monkeys.in");
assert_eq!("🙈🙊🙉🙈🙊🙉", my_string);
println!("{}", my_string);
}
编译'main.rs' 并运行生成的二进制文件将打印“🙈🙊🙉🙈🙊🙉”。
相关用法
- Rust include_bytes用法及代码示例
- Rust include_str用法及代码示例
- Rust i64.overflowing_add_unsigned用法及代码示例
- Rust i128.log2用法及代码示例
- Rust i16.log10用法及代码示例
- Rust i128.checked_div用法及代码示例
- Rust i64.abs用法及代码示例
- Rust i16.wrapping_add_unsigned用法及代码示例
- Rust i128.checked_next_multiple_of用法及代码示例
- Rust isize.unstable_div_floor用法及代码示例
- Rust i32.saturating_mul用法及代码示例
- Rust isize.swap_bytes用法及代码示例
- Rust i128.overflowing_pow用法及代码示例
- Rust i64.checked_add用法及代码示例
- Rust i16.wrapping_sub用法及代码示例
- Rust i128.overflowing_sub用法及代码示例
- Rust i64.saturating_abs用法及代码示例
- Rust isize.from_ne_bytes用法及代码示例
- Rust i16.wrapping_shr用法及代码示例
- Rust i128.overflowing_shr用法及代码示例
- Rust i128.overflowing_shl用法及代码示例
- Rust i16.unstable_div_floor用法及代码示例
- Rust i16.wrapping_abs用法及代码示例
- Rust i128.checked_sub_unsigned用法及代码示例
- Rust i32.checked_log2用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Macro core::include。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。