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...