Different ways we can pattern match
Pattern matching in Scala proves to be a very important concept. We can match on variables, constants, and even constructors. We'll take a look at all of them. Let's start with matching against a variable.
Matching a variable
At times, when we have to use the value after the pattern match is successful, we want to match against cases with variables. What this does is it assigns the value to the variable and then we can use that in our code for that particular case. It's better if we look at the following example:
import scala.util.control.NonFatal def safeToInt(canBeNumber: String): Option[Int] = { try { Some(canBeNumber.toInt) } catch { case NonFatal(e) => None } } safeToInt("10") match { case None => println("Got nothing") case someValue => println(s"Got ${someValue.get}") }
The result is as follows:
Got 10
Here, we have defined a method which tries to convert a number represented by a string to an integer. Then,...