Auto merge of #25698 - mdinger:flat_map, r=steveklabnik
I'm not sure why `core` is on but it's blocking the playpen. Doesn't seem to be needed but I'm not sure. It's not on the playpen template and playpen works on release and nightly. Seems easier to understand without `take()`.
This commit is contained in:
commit
1d0002887e
@ -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")]
|
||||
|
Loading…
Reference in New Issue
Block a user