1mod dictionary {
2 use std::io::prelude::*;
3 use std::fs::File;
4 use rand::prelude::*;
5
6 pub struct Dictionary {
7 pub data: Vec<String>,
8 }
9 impl Dictionary {
10 pub fn load(&mut self, filename: &str) -> std::io::Result<()> {
11 if self.data.len() > 0 {
12 self.data.clear()
13 }
14 let mut file = File::open(filename)?;
15 let mut string = String::new();
16 file.read_to_string(&mut string)?;
17 let split = string.split("\n");
18 let vector: Vec<&str> = split.collect();
19 for item in vector {
20 self.data.push(item.to_string());
21 }
22 Ok(())
23 }
24 pub fn get_random_word(&self) -> String {
25 let mut rng = rand::thread_rng();
26 let index = rng.gen_range(0,self.data.len());
27 self.data.get(index).unwrap().to_string()
28 }
29 }
30}