about summary refs log tree commit diff
path: root/src/doc/tutorial.md
diff options
context:
space:
mode:
authorEduard Bopp <eduard.bopp@aepsil0n.de>2014-02-11 15:27:10 +0100
committerEduard Bopp <eduard.bopp@aepsil0n.de>2014-02-11 15:27:10 +0100
commit68c960a8bb6b29c7e5e81ee4cefd8d135984b512 (patch)
tree055d60694ceef1c478d088b262489d5992afbda7 /src/doc/tutorial.md
parentfbadb36c2bb53c40299744ff2c5cbc032a1ea7c7 (diff)
downloadrust-68c960a8bb6b29c7e5e81ee4cefd8d135984b512.tar.gz
rust-68c960a8bb6b29c7e5e81ee4cefd8d135984b512.zip
Explain container iteration in the loop tutorial
 As suggested by @pnkfelix in #12161, this extends the examples by a for-loop
 that iterates over a string as an example for container iteration.
Diffstat (limited to 'src/doc/tutorial.md')
-rw-r--r--src/doc/tutorial.md18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/doc/tutorial.md b/src/doc/tutorial.md
index a7e1b2b64c6..0d2a70b3af4 100644
--- a/src/doc/tutorial.md
+++ b/src/doc/tutorial.md
@@ -582,8 +582,7 @@ loop {
 This code prints out a weird sequence of numbers and stops as soon as
 it finds one that can be divided by five.
 
-There is also a for-loop that can be used to iterate over a range of numbers
-(or, more generally, anything implementing the `Iterator` trait):
+There is also a for-loop that can be used to iterate over a range of numbers:
 
 ~~~~
 for n in range(0, 5) {
@@ -593,6 +592,21 @@ for n in range(0, 5) {
 
 The snippet above prints integer numbers under 5 starting at 0.
 
+More generally, a for loop works with anything implementing the `Iterator` trait.
+Data structures can provide one or more methods that return iterators over
+their contents. For example, strings support iteration over their contents in
+various ways:
+
+~~~~
+let s = "Hello";
+for c in s.chars() {
+    println!("{}", c);
+}
+~~~~
+
+The snippet above prints the characters in "Hello" vertically, adding a new
+line after each character.
+
 
 # Data structures