Fahad/CodeSamples/ExtractorObjects.scala
changeset 44 a751aa1ee4f7
equal deleted inserted replaced
43:10e7a90d8e7a 44:a751aa1ee4f7
       
     1 package Main
       
     2 
       
     3 object Twice {
       
     4   def apply(x: Int): Int = x * 2
       
     5   def unapply(z: Int): Option[Int] = if (z % 2 == 0) Some(z / 2) else None
       
     6 }
       
     7 
       
     8 object TwiceTest extends App {
       
     9   val x = Twice(10)
       
    10   x match { case Twice(n) => Console.println(n) } //prints 21
       
    11 }