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


Rust include用法及代码示例


本文简要介绍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-lang.org大神的英文原创作品 Macro core::include。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。