Macro std::include1.0.0[][src]

macro_rules! include {
    ($file:expr $(,)?) => { ... };
}
Expand description

根据上下文将文件解析为表达式或项。

该文件相对于当前文件位于 (类似于查找模块的方式)。提供的路径在编译时以特定于平台的方式进行解释。 因此,例如,使用 Windows 路径包含反斜杠 \ 的调用将无法在 Unix 上正确编译。

使用此宏通常不是一个好主意,因为如果将文件解析为表达式,它将被不卫生地放在周围的代码中。 如果当前文件中有同名的变量或函数,这可能导致变量或函数与文件预期的不同。

Examples

假设在同一目录中有两个文件,其内容如下:

文件 ‘monkeys.in’:

['🙈', '🙊', '🙉']
    .iter()
    .cycle()
    .take(6)
    .collect::<String>()
Run

文件 ‘main.rs’:

fn main() {
    let my_string = include!("monkeys.in");
    assert_eq!("🙈🙊🙉🙈🙊🙉", my_string);
    println!("{}", my_string);
}
Run

编译 ‘main.rs’ 并运行生成的二进制文件将打印 “🙈🙊🙉🙈🙊🙉”。