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
}