Rust中的导入/模块系统如何工作?

Rust中的导入/模块系统如何工作?,rust,Rust,我现在正在学习生锈。我刚刚掌握了借用系统,但我不知道模块系统是如何工作的 要导入extern模块,我必须编写extern板条箱sdl2。但如果我想进口一个非外部板条箱呢 我知道我可以使用mod定义一个模块,比如: mod foo { fn bar(length: i32) -> Vec<i32> { let mut list = vec![]; for i in 0..length + 1 { if list.le

我现在正在学习生锈。我刚刚掌握了借用系统,但我不知道模块系统是如何工作的

要导入extern模块,我必须编写
extern板条箱sdl2。但如果我想进口一个非外部板条箱呢

我知道我可以使用
mod
定义一个模块,比如:

mod foo {
    fn bar(length: i32) -> Vec<i32> {
        let mut list = vec![];
        for i in 0..length + 1 {
            if list.len() > 1 {
                list.push(&list[-1] + &list[-2]);
            } else {
                list.push(1);
            }
        }
        list
    }
}
因此,在src/foo.rs中,我有:

fn bar(length: i32) -> Vec<i32> {
    let mut list = vec![];
    for i in 0..length + 1 {
        if list.len() > 1 {
            list.push(&list[-1] + &list[-2]);
        } else {
            list.push(1);
        }
    }
    list
}
当将函数放入
mod foo{…}
中时,我得到了相同的错误


如果有关于这个主题的帖子,请给我一个链接,因为我只得到了一本铁锈书。

将此声明添加到您的
main.rs
文件中:

mod foo;
其作用类似于以下内容的简写:

mod foo { include!("foo.rs") }

虽然它知道,如果没有
foo.rs
文件,但有一个
foo/mod.rs
文件,则将其包括在内。

将此声明添加到
main.rs
文件:

mod foo;
其作用类似于以下内容的简写:

mod foo { include!("foo.rs") }

虽然它知道如果没有
foo.rs
文件,但是有一个
foo/mod.rs
文件来包含它。

签出怎么样?你没有告诉我们你从书中不了解的内容,那么是什么阻止了回答给你你已经不了解的内容呢?此外,书的第一版有一节讨论了你的具体情况。一个非外部的板条箱-不存在这样的东西。还有,注意右边列表中的相关问题:并看起来相关。退房怎么样?你没有告诉我们你从书中不了解的内容,那么是什么阻止了回答给你你已经不了解的内容呢?此外,书的第一版有一节讨论了你的具体情况。一个非外部的板条箱-不存在这样的东西。还有,注意右边列表中的相关问题:并看起来相关。