learning scala extracors example

那年仲夏 提交于 2019-11-27 09:27:05
object Twice {
  def apply(x: Int): Int = x * 2
  def unapply(z: Int): Option[Int] = if (z % 2 == 0) Some(z / 2) else None
}

object TwiceTest extends Application {
  val x = Twice(21)
  x match { case Twice(n) => Console.println(n) } // prints 21
}

 

object TwiceTest extends Application {
  val x = Twice.apply(21)
  Twice.unapply(x) match { case Some(n) => Console.println(n) } // prints 21
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!