19: Add solutions for section "standard_library_types".
[?]
Aaw9nJhsNmfzFih9mKyNw9mV8CgERXJkRa1kK1Kx3LQH
Aug 8, 2021, 11:21 AM
NEXKT6MR4SNH445ZRPAI44IRQWKTNGGW5XCEZZMZ3ZPXGDZF3ZWQCDependencies
- [2]
H6XH45OP0
Change contents
- edit in exercises/standard_library_types/iterators5.rs at line 13
// I AM NOT DONE - edit in exercises/standard_library_types/iterators5.rs at line 36
let out = map.iter().fold(0, |count, val| if val.1 == &value { count + 1 } else { count } );out - edit in exercises/standard_library_types/iterators5.rs at line 56
let out = collection.iter().fold(0, |count_a, map| count_a + map.iter().fold(0, |count_b, val| if val.1 == &value { count_b + 1 } else { count_b }) );out - edit in exercises/standard_library_types/iterators4.rs at line 2
// I AM NOT DONE - edit in exercises/standard_library_types/iterators4.rs at line 13
if num == 0 { 0 } else { (1..=num).fold(1, |acc, elem| acc * elem) } - edit in exercises/standard_library_types/iterators3.rs at line 8
// I AM NOT DONE - replacement in exercises/standard_library_types/iterators3.rs at line 23
pub fn divide(a: i32, b: i32) -> Result<i32, DivisionError> {}pub fn divide(a: i32, b: i32) -> Result<i32, DivisionError> {match (a, b) {(_, 0) => Err(DivisionError::DivideByZero),(0, _) => Ok(0),_ => if a % b == 0 {Ok(a / b)} else {Err(DivisionError::NotDivisible(NotDivisibleError {dividend: a,divisor: b}))}}} - replacement in exercises/standard_library_types/iterators3.rs at line 42
fn result_with_list() -> () {fn result_with_list() -> Result<Vec<i32>, DivisionError> { - replacement in exercises/standard_library_types/iterators3.rs at line 44
let division_results = numbers.into_iter().map(|n| divide(n, 27));let division_results = numbers.into_iter().map(|n| divide(n, 27)).collect();division_results - replacement in exercises/standard_library_types/iterators3.rs at line 50
fn list_of_results() -> () {fn list_of_results() -> Vec<Result<i32, DivisionError>> { - replacement in exercises/standard_library_types/iterators3.rs at line 52
let division_results = numbers.into_iter().map(|n| divide(n, 27));let division_results = numbers.into_iter().map(|n| divide(n, 27)).collect();division_results - edit in exercises/standard_library_types/iterators2.rs at line 5
// I AM NOT DONE - replacement in exercises/standard_library_types/iterators2.rs at line 13
Some(first) => ???,Some(first) => first.to_uppercase().to_string() + c.as_str(), - replacement in exercises/standard_library_types/iterators2.rs at line 22
vec![]let out = words.iter().map(|x| capitalize_first(x)).collect();out - replacement in exercises/standard_library_types/iterators2.rs at line 31
String::new()// let out = words.iter().fold(String::new(), |acc, elem| acc + &capitalize_first(elem));let out = words.iter().map(|x| capitalize_first(x)).collect();out - replacement in exercises/standard_library_types/iterators1.rs at line 3
// Make me compile by filling in the `???`s// Make me compile by filling in the `Some(&"")`s - edit in exercises/standard_library_types/iterators1.rs at line 10
// I AM NOT DONE - replacement in exercises/standard_library_types/iterators1.rs at line 14
let mut my_iterable_fav_fruits = ???; // TODO: Step 1let mut my_iterable_fav_fruits = my_fav_fruits.iter(); - replacement in exercises/standard_library_types/iterators1.rs at line 17
assert_eq!(my_iterable_fav_fruits.next(), ???); // TODO: Step 2assert_eq!(my_iterable_fav_fruits.next(), Some(&"custard apple")); - replacement in exercises/standard_library_types/iterators1.rs at line 19
assert_eq!(my_iterable_fav_fruits.next(), ???); // TODO: Step 2.1assert_eq!(my_iterable_fav_fruits.next(), Some(&"peach")); - replacement in exercises/standard_library_types/iterators1.rs at line 21
assert_eq!(my_iterable_fav_fruits.next(), ???); // TODO: Step 3assert_eq!(my_iterable_fav_fruits.next(), None); - edit in exercises/standard_library_types/box1.rs at line 18
// I AM NOT DONE - replacement in exercises/standard_library_types/box1.rs at line 21
Cons(i32, List),Cons(i32, Box<List>), - replacement in exercises/standard_library_types/box1.rs at line 34
unimplemented!()List::Nil - replacement in exercises/standard_library_types/box1.rs at line 38
unimplemented!()List::Cons(0, Box::new(List::Nil)) - edit in exercises/standard_library_types/arc1.rs at line 20
// I AM NOT DONE - replacement in exercises/standard_library_types/arc1.rs at line 27
let shared_numbers = // TODOlet shared_numbers = Arc::new(numbers); - replacement in exercises/standard_library_types/arc1.rs at line 31
let child_numbers = // TODOlet child_numbers = shared_numbers.clone();