@@ -42,12 +42,12 @@ loop is just a handy way to write this `loop`/`match`/`break` construct.
4242` for ` loops aren't the only thing that uses iterators, however. Writing your
4343own iterator involves implementing the ` Iterator ` trait. While doing that is
4444outside of the scope of this guide, Rust provides a number of useful iterators
45- to accomplish various tasks. Before we talk about those, we should talk about a
46- Rust anti-pattern. And that's using ranges like this.
45+ to accomplish various tasks. But first, a few notes about limitations of ranges.
4746
48- Yes, we just talked about how ranges are cool. But ranges are also very
49- primitive. For example, if you needed to iterate over the contents of a vector,
50- you may be tempted to write this:
47+ Ranges are very primitive, and we often can use better alternatives. Consider
48+ following Rust anti-pattern: using ranges to emulate a C-style ` for ` loop. Let’s
49+ suppose you needed to iterate over the contents of a vector. You may be tempted
50+ to write this:
5151
5252``` rust
5353let nums = vec! [1 , 2 , 3 ];
@@ -281,8 +281,8 @@ If you are trying to execute a closure on an iterator for its side effects,
281281just use ` for ` instead.
282282
283283There are tons of interesting iterator adapters. ` take(n) ` will return an
284- iterator over the next ` n ` elements of the original iterator. Let's try it out with our infinite
285- iterator from before :
284+ iterator over the next ` n ` elements of the original iterator. Let's try it out
285+ with an infinite iterator :
286286
287287``` rust
288288for i in (1 .. ). take (5 ) {
0 commit comments