1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
mod dictionary {
	use std::io::prelude::*;
	use std::fs::File;
	use rand::prelude::*;

	pub struct Dictionary {
		pub data: Vec<String>,
	}
	impl Dictionary {
		pub fn load(&mut self, filename: &str) -> std::io::Result<()> {
			if self.data.len() > 0 {
				self.data.clear()
			}
			let mut file = File::open(filename)?;
			let mut string = String::new();
			file.read_to_string(&mut string)?;
			let split = string.split("\n");
			let vector: Vec<&str> = split.collect();
			for item in vector {
				self.data.push(item.to_string());
			}
			Ok(())
		}
		pub fn get_random_word(&self) -> String {
			let mut rng = rand::thread_rng();
			let index = rng.gen_range(0,self.data.len());
			self.data.get(index).unwrap().to_string()
		}
	}
}