val withDefault: Option[Int] => Int = {
case Some(x) => x
case None => 0
}
我不明白的是,这是一个合法的函数文字吗?具体来说,在 => 之后那个“Int”在做什么?
我认为函数文字就像:
(x: Int) => x * x
谢谢!
val withDefault: Option[Int] => Int = {
case Some(x) => x
case None => 0
}
我不明白的是,这是一个合法的函数文字吗?具体来说,在 => 之后那个“Int”在做什么?
我认为函数文字就像:
(x: Int) => x * x
谢谢!
定义匿名函数有不同的方法。从语言参考第 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
}