More idiomatic implementations
This commit is contained in:
parent
2f3b0c9d1c
commit
ed6a35f618
@ -47,7 +47,7 @@ impl<Row, Col, Val> Table<Row, Col, Val>
|
|||||||
|
|
||||||
/// Returns length of the Table (number of (row, col, val) tuples)
|
/// Returns length of the Table (number of (row, col, val) tuples)
|
||||||
pub fn len(&self) -> usize {
|
pub fn len(&self) -> usize {
|
||||||
self.map.iter().fold(0, |acc, (_k, v)| acc + v.len())
|
self.map.values().fold(0, |acc, v| acc + v.len())
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Check if there is any element in this Table
|
/// Check if there is any element in this Table
|
||||||
@ -111,13 +111,7 @@ impl<Row, Col, Val> Table<Row, Col, Val>
|
|||||||
///
|
///
|
||||||
/// Returns previous value (if any)
|
/// Returns previous value (if any)
|
||||||
pub fn insert(&mut self, row: Row, col: Col, val: Val) -> Option<Val> {
|
pub fn insert(&mut self, row: Row, col: Col, val: Val) -> Option<Val> {
|
||||||
if !self.map.contains_key(&row) {
|
self.map.entry(row).or_insert_with(|| HashMap::new()).insert(col, val)
|
||||||
let m = HashMap::new();
|
|
||||||
self.map.insert(row.clone(), m);
|
|
||||||
}
|
|
||||||
|
|
||||||
let mut columns = self.map.get_mut(&row).unwrap();
|
|
||||||
columns.insert(col, val)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user