Skip to content

Commit 0d95dc1

Browse files
committed
Improved example [skip ci]
1 parent 0b6bf97 commit 0d95dc1

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

examples/disco/src/main.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ fn main() -> Result<(), Box<dyn Error>> {
3030
&[],
3131
)?;
3232

33-
let data = load_movielens(Path::new(&movielens_path));
33+
let data = load_movielens(Path::new(&movielens_path))?;
3434
let recommender = RecommenderBuilder::new().factors(20).fit_explicit(&data);
3535

3636
for user_id in recommender.user_ids() {
@@ -66,37 +66,37 @@ fn main() -> Result<(), Box<dyn Error>> {
6666
Ok(())
6767
}
6868

69-
fn load_movielens(path: &Path) -> Dataset<i32, String> {
69+
fn load_movielens(path: &Path) -> Result<Dataset<i32, String>, Box<dyn Error>> {
7070
// read movies, removing invalid UTF-8 bytes
7171
let mut movies = HashMap::new();
72-
let mut movies_file = File::open(path.join("u.item")).unwrap();
72+
let mut movies_file = File::open(path.join("u.item"))?;
7373
let mut buf = Vec::new();
74-
movies_file.read_to_end(&mut buf).unwrap();
74+
movies_file.read_to_end(&mut buf)?;
7575
let movies_data = String::from_utf8_lossy(&buf);
7676
let mut rdr = ReaderBuilder::new()
7777
.has_headers(false)
7878
.delimiter(b'|')
7979
.from_reader(movies_data.as_bytes());
8080
for record in rdr.records() {
81-
let row = record.unwrap();
81+
let row = record?;
8282
movies.insert(row[0].to_string(), row[1].to_string());
8383
}
8484

8585
// read ratings and create dataset
8686
let mut data = Dataset::new();
87-
let ratings_file = File::open(path.join("u.data")).unwrap();
87+
let ratings_file = File::open(path.join("u.data"))?;
8888
let mut rdr = ReaderBuilder::new()
8989
.has_headers(false)
9090
.delimiter(b'\t')
9191
.from_reader(ratings_file);
9292
for record in rdr.records() {
93-
let row = record.unwrap();
93+
let row = record?;
9494
data.push(
95-
row[0].parse::<i32>().unwrap(),
95+
row[0].parse::<i32>()?,
9696
movies.get(&row[1]).unwrap().to_string(),
97-
row[2].parse().unwrap(),
97+
row[2].parse()?,
9898
);
9999
}
100100

101-
data
101+
Ok(data)
102102
}

0 commit comments

Comments
 (0)