From 81bc32d9750f34a2218e6ba8f2d2c1a101f8a8a1 Mon Sep 17 00:00:00 2001 From: Mike Boutin Date: Sat, 26 Apr 2014 11:41:23 -0400 Subject: [PATCH] doc: Clarified 4.2 Pattern matching Combined redundant paragraphs about the match expression and removed a redundant example. --- src/doc/tutorial.md | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/src/doc/tutorial.md b/src/doc/tutorial.md index f14b783380015..d64af8e2c65e0 100644 --- a/src/doc/tutorial.md +++ b/src/doc/tutorial.md @@ -468,19 +468,16 @@ Unlike in C, there is no "falling through" between arms: only one arm executes, and it doesn't have to explicitly `break` out of the construct when it is finished. -A `match` arm consists of a *pattern*, then an arrow `=>`, followed by -an *action* (expression). Literals are valid patterns and match only -their own value. A single arm may match multiple different patterns by -combining them with the pipe operator (`|`), so long as every pattern -binds the same set of variables. Ranges of numeric literal patterns -can be expressed with two dots, as in `M..N`. The underscore (`_`) is -a wildcard pattern that matches any single value. (`..`) is a different -wildcard that can match one or more fields in an `enum` variant. - -The patterns in a match arm are followed by a fat arrow, `=>`, then an -expression to evaluate. Each case is separated by commas. It's often -convenient to use a block expression for each case, in which case the -commas are optional. +A `match` arm consists of a *pattern*, then a fat arrow `=>`, followed +by an *action* (expression). Each case is separated by commas. It is +often convenient to use a block expression for each case, in which case +the commas are optional as shown below. Literals are valid patterns and +match only their own value. A single arm may match multiple different +patterns by combining them with the pipe operator (`|`), so long as every +pattern binds the same set of variables. Ranges of numeric literal +patterns can be expressed with two dots, as in `M..N`. The underscore +(`_`) is a wildcard pattern that matches any single value. (`..`) is a +different wildcard that can match one or more fields in an `enum` variant. ~~~ # let my_number = 1;