diff options
| author | Sean Silva <chisophugis@gmail.com> | 2018-03-24 22:31:17 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-03-24 22:31:17 -0700 |
| commit | f198b0acf512458bdbe5079d12414ff94b03f7ac (patch) | |
| tree | 45e7a07bdc3be59104368e740e928cbffc59c7d9 | |
| parent | e5bf0428d134e6f9c1fe54839f249c616b6b0b0b (diff) | |
| download | rust-f198b0acf512458bdbe5079d12414ff94b03f7ac.tar.gz rust-f198b0acf512458bdbe5079d12414ff94b03f7ac.zip | |
Fix confusing doc for `scan`
The comment "the value passed on to the next iteration" confused me since it sounded more like what Haskell's [scanl](http://hackage.haskell.org/package/base-4.11.0.0/docs/Prelude.html#v:scanl) does where the closure's return value serves as both the "yielded value" *and* the new value of the "state". I tried changing the example to make it clear that the closure's return value is decoupled from the state argument.
| -rw-r--r-- | src/libcore/iter/iterator.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/libcore/iter/iterator.rs b/src/libcore/iter/iterator.rs index 2cfbc092293..31f77f92435 100644 --- a/src/libcore/iter/iterator.rs +++ b/src/libcore/iter/iterator.rs @@ -974,13 +974,13 @@ pub trait Iterator { /// // each iteration, we'll multiply the state by the element /// *state = *state * x; /// - /// // the value passed on to the next iteration - /// Some(*state) + /// // then, we'll yield the negation of the state + /// Some(-*state) /// }); /// - /// assert_eq!(iter.next(), Some(1)); - /// assert_eq!(iter.next(), Some(2)); - /// assert_eq!(iter.next(), Some(6)); + /// assert_eq!(iter.next(), Some(-1)); + /// assert_eq!(iter.next(), Some(-2)); + /// assert_eq!(iter.next(), Some(-6)); /// assert_eq!(iter.next(), None); /// ``` #[inline] |
