From b1c5c26c6885588a14b39250a729fe7a7356db6c Mon Sep 17 00:00:00 2001 From: androm3da Date: Wed, 25 Nov 2015 12:46:35 -0600 Subject: [PATCH 1/3] Updated "while let" example. --- src/doc/book/if-let.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/doc/book/if-let.md b/src/doc/book/if-let.md index faa922acb3d..c4f21bf3781 100644 --- a/src/doc/book/if-let.md +++ b/src/doc/book/if-let.md @@ -58,7 +58,8 @@ if let Some(x) = option { ## `while let` In a similar fashion, `while let` can be used when you want to conditionally -loop as long as a value matches a certain pattern. It turns code like this: +loop over an iterator as long as a value matches a certain pattern. It turns +code like this: ```rust # let option: Option = None; @@ -73,8 +74,9 @@ loop { Into code like this: ```rust -# let option: Option = None; -while let Some(x) = option { +# let v: vec![1, 3, 5, 7, 9, ]; +# let mut it: v.iter(); +while let Some(x) = it.next() { println!("{}", x); } ``` From 465a5cb19435a495ce5d6e868b2699c908190bec Mon Sep 17 00:00:00 2001 From: ebadf Date: Wed, 25 Nov 2015 20:05:45 -0600 Subject: [PATCH 2/3] Corrections to the while-let example per review. --- src/doc/book/if-let.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/doc/book/if-let.md b/src/doc/book/if-let.md index c4f21bf3781..dfe6f5ca5fc 100644 --- a/src/doc/book/if-let.md +++ b/src/doc/book/if-let.md @@ -58,8 +58,7 @@ if let Some(x) = option { ## `while let` In a similar fashion, `while let` can be used when you want to conditionally -loop over an iterator as long as a value matches a certain pattern. It turns -code like this: +loop as long as a value matches a certain pattern. It turns code like this: ```rust # let option: Option = None; @@ -74,9 +73,9 @@ loop { Into code like this: ```rust -# let v: vec![1, 3, 5, 7, 9, ]; -# let mut it: v.iter(); -while let Some(x) = it.next() { +let v: vec![1, 3, 5, 7, 11, ]; +let mut iter: v.iter(); +while let Some(x) = iter.next() { println!("{}", x); } ``` From 797a0bd1c13175398aa0e2e45f6dbb61bcb8c329 Mon Sep 17 00:00:00 2001 From: ebadf Date: Fri, 27 Nov 2015 10:23:58 -0600 Subject: [PATCH 3/3] Shifted focus of while-let example per review. --- src/doc/book/if-let.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/doc/book/if-let.md b/src/doc/book/if-let.md index dfe6f5ca5fc..9afe5fa826d 100644 --- a/src/doc/book/if-let.md +++ b/src/doc/book/if-let.md @@ -61,10 +61,10 @@ In a similar fashion, `while let` can be used when you want to conditionally loop as long as a value matches a certain pattern. It turns code like this: ```rust -# let option: Option = None; +let mut v = vec![1, 3, 5, 7, 11]; loop { - match option { - Some(x) => println!("{}", x), + match v.pop() { + Some(x) => println!("{}", x), None => break, } } @@ -73,9 +73,8 @@ loop { Into code like this: ```rust -let v: vec![1, 3, 5, 7, 11, ]; -let mut iter: v.iter(); -while let Some(x) = iter.next() { +let mut v = vec![1, 3, 5, 7, 11]; +while let Some(x) = v.pop() { println!("{}", x); } ```