Tuesday, October 4, 2016

Pattern Gaurd : Example...

scala> case class Subject(name: String, mark: Int)
defined class Subject

scala> def fn1(x: Subject) = x match {
     |     // A Pattern Gaurd always returns a Boolean
     |     // Here 'if x > 5' acts as a Pattern Gaurd
     |     case Subject("math", x) if x > 75 => {
     |         println("Matching : More than 75...")
     |     }
     |     case _ => println("Not matching...")
     | }
fn1: (x: Subject)Unit

scala> fn1(Subject("math", 80))
Matching : More than 75...

scala> fn1(Subject("math", 60))
Not matching...