Skip to content

Commit

Permalink
Simplify flat_map example
Browse files Browse the repository at this point in the history
  • Loading branch information
mdinger committed May 23, 2015
1 parent c3d60ab commit 5b443b2
Showing 1 changed file with 9 additions and 10 deletions.
19 changes: 9 additions & 10 deletions src/libcore/iter.rs
Expand Up @@ -452,20 +452,19 @@ pub trait Iterator {
Scan{iter: self, f: f, state: initial_state}
}

/// Creates an iterator that maps each element to an iterator,
/// and yields the elements of the produced iterators.
/// Takes a function that maps each element to a new iterator and yields
/// all the elements of the produced iterators.
///
/// This is useful for unraveling nested structures.
///
/// # Examples
///
/// ```
/// # #![feature(core)]
/// let xs = [2, 3];
/// let ys = [0, 1, 0, 1, 2];
/// let it = xs.iter().flat_map(|&x| (0..).take(x));
/// // Check that `it` has the same elements as `ys`
/// for (i, x) in it.enumerate() {
/// assert_eq!(x, ys[i]);
/// }
/// let words = ["alpha", "beta", "gamma"];
/// let merged: String = words.iter()
/// .flat_map(|s| s.chars())
/// .collect();
/// assert_eq!(merged, "alphabetagamma");
/// ```
#[inline]
#[stable(feature = "rust1", since = "1.0.0")]
Expand Down

0 comments on commit 5b443b2

Please sign in to comment.