请帮我理解这片带有图案的scala

时间:2013-10-28 16:58:03

标签: scala

val withDefault: Option[Int] => Int = {
    case Some(x) => x
    case None => 0
}

我不明白的是,这是一个法律功能文字?具体来说,'Int'在=>之后做什么? ?

我认为函数文字就像:

(x: Int) => x * x

谢谢!

1 个答案:

答案 0 :(得分:2)

定义匿名函数有多种方法。从语言参考部分8.5(http://scala-lang.org/files/archive/nightly/pdfs/ScalaReference.pdf):

An anonymous function can be defined by a sequence of cases
  { case p1 => b1 ... case pn => bn }

我相信你的例子完全相同:

  val withDefault: Option[Int] => Int = x => x match {
    case Some(x) => x
    case None => 0
  }
相关问题