我找不到如何将函数从一个文件(模块)包含(或导入,注入或其他一些单词)到另一个文件.
我开始一个新项目
$ cd ~/projects
$ cargo new proj --bin
$ cd proj
$ tree
.
|
-- Cargo.toml
-- src
|
-- main.rs
Run Code Online (Sandbox Code Playgroud)
我使用以下代码修改main.rs并创建一个新文件a.rs(在srcdir中):
main.rs
fn main() {
println!("{}", a::foo());
}
Run Code Online (Sandbox Code Playgroud)
a.rs
pub fn foo() -> i32 { 42 }
Run Code Online (Sandbox Code Playgroud)
我运行项目cargo run并得到错误:
error[E0433]: failed to resolve: use of undeclared type or module `a`
--> src/main.rs:2:20
|
2 | println!("{}", a::foo());
| ^ use of undeclared type or module `a`
Run Code Online (Sandbox Code Playgroud)
似乎我需要以a …
主要功能如下:
mod stats;
fn main() {
let raw_data = [10, 10, 20, 1, 2, 3, 5];
let mut v: Vec<u32> = Vec::new();
let mean = 0;
let median = 0;
let mode = 0;
for i in raw_data.iter() {
v.push(*i);
}
let stat = stats::stats::Stats::new(v);
}
Run Code Online (Sandbox Code Playgroud)
模块统计信息如下:
pub mod stats {
pub struct Stats {
data: Vec<u32>,
}
impl Stats {
pub fn new(data: Vec<u32>) -> Stats {
Stats { data }
}
pub fn find_mean(&self) -> f64 {
let …Run Code Online (Sandbox Code Playgroud)