a bit more cleanup/refactoring

This commit is contained in:
swaits committed 2021-12-01 14:47:05 -07:00
1 parent 2e44119f8e
commit b380ecbabd
2 files changed
+20 -11

No files matched your search

+15 -6
View File
@@ -1,11 +1,20 @@
use anyhow::Result;
use std::fs;
use std::{fs, str::FromStr};
pub fn read_i64s(filename: &str) -> Result<Vec<i64>> {
Ok(read_file(filename)?
.lines()
.map(|s| s.parse::<i64>().expect("i64 parse error"))
.collect())
pub fn read_data<T: FromStr>(filename: &str) -> Result<Vec<T>> {
parse_data(&read_file(filename)?)
}
pub fn parse_data<T: FromStr>(s: &str) -> Result<Vec<T>> {
let mut ret = Vec::new();
for l in s.lines() {
let data = match l.parse::<T>() {
Ok(d) => d,
Err(_) => panic!("parse error"),
};
ret.push(data);
}
Ok(ret)
}
pub fn read_file(filename: &str) -> Result<String> {