Skip to content

Instantly share code, notes, and snippets.

@wrobstory
Last active April 26, 2020 21:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wrobstory/f39237b54ee8d0492a0233efa8e2789f to your computer and use it in GitHub Desktop.
Save wrobstory/f39237b54ee8d0492a0233efa8e2789f to your computer and use it in GitHub Desktop.
Rust Traverse
fn into_result(input: &i32) -> Result<&i32, String> {
Ok(input)
}
fn main() {
let numbers: Vec<i32> = vec![1, 2, 3, 4, 5];
let mapper = numbers.iter().map(|x| into_result(x));
let vector_of_results = mapper.collect::<Vec<Result<&i32, String>>>();
println!("{:?}", vector_of_results);
// [Ok(1), Ok(2), Ok(3), Ok(4), Ok(5)]
let mapper = numbers.iter().map(|x| into_result(x));
let traversed = mapper.collect::<Result<Vec<&i32>, String>>();
println!("{:?}", traversed);
// Ok([1, 2, 3, 4, 5])
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment