如何在两个源文件之间划分Rust代码?

时间:2016-06-05 13:19:11

标签: module include rust

更新以回应“可能重复”

是的,指出的问题"Can't understand Rust module system"解决了我的问题,感谢您。

然而,作为我的问题的一部分,我还要求提供文档“我错过了哪里”的指示;即使答案是“它没有简单解释”,也能很好地得到答案。 (这没关系 - 我很欣赏有很多工作要做和完成。)

我开始从z / Assembler,Python,Go和一些C的背景中学习Rust;但没有C ++或Java。

我已经成功构建并执行了“Hello World!”例如,以及其他一些单片main.rs。对于其中之一,我试图将我的实用程序函数分离到一个单独的源文件中,但我无法构建它,并且我承认我发现文档有点难以理解。 (对作者的所有应有的尊重;我确信这是我。)

因此,对于一个最小的非工作示例,我回到了哈洛世界。

在我的src /目录中,我有两个文件:

say.rs:

mod say {
    pub fn say() {
        println!("Hello, world!");
    }
}

main.rs:

pub mod say;
fn main() {
    say();
}

cargo build给出了以下错误消息:

D:\Development\Rust\hw\src>cargo build
   Compiling hw v0.1.0 (file:///D:/Development/Rust/hw)
main.rs:3:5: 3:8 error: unresolved name `say` [E0425]
main.rs:3     say();
              ^~~

等。我也尝试过调用say::say(),但答案相同。

我得出的结论是,我在这里遗漏了一些非常基本的东西。有人可以解释我出错的地方,希望能指出我应该看到的书吗?

0 个答案:

没有答案