这个问题在这里已有答案:
主要功能如下:
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);
}
模块统计数据如下:
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 mut sum = 0;
for i in &self.data {
sum += i;
}
return (sum / self.data.iter().count() as u32) as f64;
}
pub fn find_mode(&self) -> u32 {}
pub fn find_median(&self) -> f64 {}
}
}
为什么我必须使用stats::stats
来引用struct Stats
。
在你的stats.rs
文件中你创建另一个模块stats
,这意味着你必须使用stats::stats
,因为每个文件都创建自己的模块。
要解决您的问题,只需删除pub mod stats
文件中的stats.rs
即可。
有关更多信息,请参阅