Iterators are a powerful abstraction in Rust, enabling developers to process sequences of data in a functional, efficient, and composable way. They are the foundation of many collection-related operations and provide a clean and expressive alternative to traditional loops.
In this challenge, you will implement two functions that utilize iterators to perform specific operations:
Using Rust's iterator methods such as filter
, map
, and collect
, you'll create concise, functional implementations that demonstrate the elegance and power of iterators.
Write the following two functions:
filter_even_numbers
:
Takes an iterator of integers and filters out even numbers, returning a vector of the remaining odd numbers.
uppercase_strings
:
Takes an iterator of string slices and converts each string to uppercase, returning a vector of the transformed strings.
Read the main()
function carefully to understand how the functions will be used and what is expected from them.
Use the filter
method for filtering elements based on a condition.
Make sure you dereference the values when using them in the closure. For example:
.filter(|&x| x % 2 != 0)
Or
.filter(|x| *x % 2 != 0)
Use the collect
method to gather results from an iterator into a vector.
Use the map
method for transforming elements in an iterator.
Use the to_uppercase
method to convert a string to uppercase.
Define lifetimes for the input and output types in the function signature.
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { iter.filter(|i| i % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|i| i.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|x| x % 2 != 0).collect::<Vec<i32>>()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|x| x.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|x| x % 2 != 0).collect::<Vec<i32>>()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String>{ iter.map(| x | x.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { iter.filter(|e| e % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|e| e.to_string()).map(|e| e.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|even| even % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|s| s.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { iter.filter(|&v| v % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings(iter: impl Iterator<Item = &'static str>) -> Vec<String> { iter.map(|s| s.to_uppercase()).collect()}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|it| it % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|t| t.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { iter.filter(|&number| number % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|string| string.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|a| a % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a, 'b>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|s| s.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|x| x % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|x| x.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function let result = iter.filter(|&x| x % 2 != 0); result.collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter : impl Iterator<Item = &'a str> ) -> Vec<String> { let result = iter.map(|x| { x.to_uppercase() }); result.collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] //Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { iter.filter(|n| n % 2 != 0).collect()}pub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|s| s.to_uppercase().to_string()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|i| *i % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|x| x.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|&x| x % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(input: impl Iterator<Item = &'a str>) -> Vec<String> { input .map(|s| s.to_uppercase()) .collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|&x| x % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|x| x.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|&x| x % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|x| x.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function let mut odd = Vec::new(); for num in iter { if num % 2 != 0 { odd.push(num) } } odd}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { let mut up_words = Vec::new(); for word in iter { up_words.push(word.to_uppercase()); } up_words}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function let mut odd = Vec::new(); for num in iter { if num % 2 != 0 { odd.push(num) } } odd}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { let mut up_words = Vec::new(); for word in iter { up_words.push(word.to_uppercase()); } up_words}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|x| x % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|s| s.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|x| x.abs() % 2 == 1).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|s| s.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|n| n % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|s| s.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { iter.filter(|&num| num % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|word| word.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { iter.filter(|s| s % 2 != 0 ).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(str: impl Iterator<Item = &'a str>) -> Vec<String> { str.map(|s| s.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { iter.filter(|&x| x % 2 != 0).collect::<Vec<_>>()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|x| x.to_uppercase()).collect::<Vec<String>>()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { iter.filter(|x| x % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|x| x.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|itm| itm% 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl IntoIterator<Item = &'a str>) -> Vec<String> { iter.into_iter().map(|s| s.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { let mut even_numbers = Vec::new(); for i in iter { if i % 2 != 0 { even_numbers.push(i) } } even_numbers}pub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { let mut uppercase_strings: Vec<String> = Vec::new(); for s in iter { uppercase_strings.push(s.to_uppercase()); } uppercase_strings}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { iter.filter(|number| number % 2 != 0).collect::<Vec<i32>>()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|f| f.to_uppercase()).collect::<Vec<String>>()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|number| number % 2 != 0).collect::<Vec<i32>>()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item= &'a str>) -> Vec<String> { iter.map(|f| f.to_uppercase()).collect::<Vec<String>>()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { iter.filter(|num| num % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|str| str.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|i| i%2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item=&'a str>) -> Vec<String> { iter.map(|i| i.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|i| i%2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item=&'a str>) -> Vec<String> { iter.map(|i| i.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { iter.filter(|num| num % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|s| s.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { iter.filter(|num| num % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|s| s.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { iter.filter(|x| (x % 2 != 0)).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|x| x.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|x| x%2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|x| x.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { iter.filter(|x| x % 2 != 0).collect()}pub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|s| s.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|x| x % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|x| x.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { iter.filter(|n| n % 2 != 0).collect()}pub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|s| s.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { iter.filter(|n| n % 2 != 0).collect()}pub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|s| s.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { iter.filter(|&num| num %2 != 0).collect()}pub fn uppercase_strings(iter: impl Iterator<Item = &'static str>) -> Vec<String> { iter.map(|s| s.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|&x| x % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings(iter: impl IntoIterator<Item = &'static str>) -> Vec<String> { iter.into_iter().map(|s| s.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { iter.filter(|n| n.rem_euclid(2) == 1).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|s| s.to_uppercase().to_string()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|x| x % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|x| x.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|num| (num % 2).abs() == 1).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|word| word.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|x| x % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|x| x.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|x| x % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|s| s.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|x| x % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|x| x.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { iter.filter(|x| x % 2 != 0).collect()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|x| x.to_uppercase()).collect()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}
pub fn filter_even_numbers(iter: impl Iterator<Item = i32>) -> Vec<i32> { // 1. Finish the function iter.filter(|x| x % 2 != 0).collect::<Vec<i32>>()}// 2. Finish the function herepub fn uppercase_strings<'a>(iter: impl Iterator<Item = &'a str>) -> Vec<String> { iter.map(|x| x.to_string().to_uppercase()).collect::<Vec<String>>()}// Example usagepub fn main() { // Filtering even numbers let numbers = vec![1, 2, 3, 4, 5]; let odd_numbers = filter_even_numbers(numbers.into_iter()); println!("{:?}", odd_numbers); // Should print: [1, 3, 5] // Converting strings to uppercase let words = vec!["hello", "world"]; let uppercase_words = uppercase_strings(words.into_iter()); println!("{:?}", uppercase_words); // Should print: ["HELLO", "WORLD"]}