mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 06:44:35 +00:00
Rollup merge of #92899 - cameron1024:zip-docs, r=dtolnay
Mention std::iter::zip in Iterator::zip docs Closes https://github.com/rust-lang/rust/issues/91960 I'm not sure about the wording. I think it's alright, but happy to change.
This commit is contained in:
commit
54f357836e
@ -515,8 +515,44 @@ pub trait Iterator {
|
||||
/// assert_eq!((2, 'o'), zipper[2]);
|
||||
/// ```
|
||||
///
|
||||
/// If both iterators have roughly equivalent syntax, it may me more readable to use [`zip`]:
|
||||
///
|
||||
/// ```
|
||||
/// use std::iter::zip;
|
||||
///
|
||||
/// let a = [1, 2, 3];
|
||||
/// let b = [2, 3, 4];
|
||||
///
|
||||
/// let mut zipped = zip(
|
||||
/// a.into_iter().map(|x| x * 2).skip(1),
|
||||
/// b.into_iter().map(|x| x * 2).skip(1),
|
||||
/// );
|
||||
///
|
||||
/// assert_eq!(zipped.next(), Some((4, 6)));
|
||||
/// assert_eq!(zipped.next(), Some((6, 8)));
|
||||
/// assert_eq!(zipped.next(), None);
|
||||
/// ```
|
||||
///
|
||||
/// compared to:
|
||||
///
|
||||
/// ```
|
||||
/// # let a = [1, 2, 3];
|
||||
/// # let b = [2, 3, 4];
|
||||
/// #
|
||||
/// let mut zipped = a
|
||||
/// .into_iter()
|
||||
/// .map(|x| x * 2)
|
||||
/// .skip(1)
|
||||
/// .zip(b.into_iter().map(|x| x * 2).skip(1));
|
||||
/// #
|
||||
/// # assert_eq!(zipped.next(), Some((4, 6)));
|
||||
/// # assert_eq!(zipped.next(), Some((6, 8)));
|
||||
/// # assert_eq!(zipped.next(), None);
|
||||
/// ```
|
||||
///
|
||||
/// [`enumerate`]: Iterator::enumerate
|
||||
/// [`next`]: Iterator::next
|
||||
/// [`zip`]: crate::iter::zip
|
||||
#[inline]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
fn zip<U>(self, other: U) -> Zip<Self, U::IntoIter>
|
||||
|
Loading…
Reference in New Issue
Block a user