Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fn get_middle<T>(elements: Vec<T>) -> T {
- elements[elements.len() / 2]
- }
- get_middle(vec![1, 2, 3])
- get_middle(vec![1, 2, 3])
- // as well as...
- get_middle(0..3)
- fn get_middle<T, U>(elements: U) -> Option<T>
- where
- U: IntoIterator<Item = T>,
- U::IntoIter: ExactSizeIterator,
- {
- let mut it = elements.into_iter();
- let len = it.len();
- it.nth(len / 2)
- }
- fn main() {
- assert_eq!(get_middle(vec![1, 2, 3]), Some(2));
- assert_eq!(get_middle(0..3), Some(1));
- }
Add Comment
Please, Sign In to add comment