scala> ////////////////////////////////////////////////////////////////
scala> // All Reference Classes in Scala extends AnyRef
scala> ////////////////////////////////////////////////////////////////
scala> def patternFn(x: AnyRef): Unit = x match { //#315
| case List(1, _) => println("This is ; List(1, _)")
|
| // Variable Binding : @ is used to bind a Variable #320
| case x @ List(2, _) => println("This is. -> " + x)
|
| // _* represents : Can be any no of elements
| case List(3, _*) => println("This is .. -> " + x)
| }
patternFn: (x: AnyRef)Unit
scala>
scala> patternFn(List(1, 2))
This is ; List(1, _)
scala> patternFn(List(2, 3))
This is. -> List(2, 3)
scala> patternFn(List(2, 3, 4, 5))
scala.MatchError: List(2, 3, 4, 5) (of class scala.collection.immutable.$colon$colon)
at patternFn(<console>:23)
... 48 elided
scala> patternFn(List(3, 4, 5, 6, 7))
This is .. -> List(3, 4, 5, 6, 7)