Source From Here
Preface
This is an excerpt from the Scala Cookbook (partially modified for the internet). This is one of the shorter recipes, Recipe 3.10, “How to access the value of the default case in a Scala match expression.”
Problem
You want to access the value of the default, “catch all” case when using a match expression, but you can’t access the value when you match it with the _ wildcard syntax.
Solution
Instead of using the _ wildcard character, assign a variable name to the default case:
By giving the default match a variable name, you can access the variable on the right side of the statement.
Discussion
The key to this recipe is in using a variable name for the default match instead of the usual _ wildcard character. The name you assign can be any legal variable name, so instead of naming it default, you can name it something else, such as whoa:
It’s important to provide a default match. Failure to do so can cause a
MatchError:
Preface
This is an excerpt from the Scala Cookbook (partially modified for the internet). This is one of the shorter recipes, Recipe 3.10, “How to access the value of the default case in a Scala match expression.”
Problem
You want to access the value of the default, “catch all” case when using a match expression, but you can’t access the value when you match it with the _ wildcard syntax.
Solution
Instead of using the _ wildcard character, assign a variable name to the default case:
- i match {
- case 0 => println("1")
- case 1 => println("2")
- case default => println("You gave me: " + default)
- }
Discussion
The key to this recipe is in using a variable name for the default match instead of the usual _ wildcard character. The name you assign can be any legal variable name, so instead of naming it default, you can name it something else, such as whoa:
- i match {
- case 0 => println("1")
- case 1 => println("2")
- case whoa => println("You gave me: " + whoa)
- }
沒有留言:
張貼留言