summary refs log tree commit diff
path: root/lib/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/src/lib.rs')
-rw-r--r--lib/src/lib.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/src/lib.rs b/lib/src/lib.rs
index b198f10..4b4b679 100644
--- a/lib/src/lib.rs
+++ b/lib/src/lib.rs
@@ -3,9 +3,35 @@ pub mod prelude;
 
 pub use crate::prelude::Result;
 
+use std::fs::File;
+use std::io::BufReader;
+use std::io::prelude::*;
+
 
 pub fn greeting() -> Result<()> {
   println!("Hello, Irenes!");
 
   Ok(())
 }
+
+pub fn read_int_file(filename: &str) -> Result<Vec<i64>> {
+  let file = File::open(filename)?;
+  let mut reader = BufReader::new(file);
+  let mut buffer = String::new();
+
+  let mut input: Vec<i64> = Vec::new();
+  loop {
+    reader.read_line(&mut buffer)?;
+    if buffer.len() == 0 {
+      break;
+    }
+
+    let item = buffer.trim().parse::<i64>()?;
+
+    buffer.clear();
+
+    input.push(item);
+  }
+
+  Ok(input)
+}