0
val withDefault: Option[Int] => Int = {
case Some(x) => x
case None => 0
}
我不明白的是,這是怎麼一個法律函數?具體來說,在「>」之後做什麼是'Int'?請幫我理解這一塊帶有圖案的scala
我認爲函數文本是象:
(x: Int) => x * x
謝謝!
val withDefault: Option[Int] => Int = {
case Some(x) => x
case None => 0
}
我不明白的是,這是怎麼一個法律函數?具體來說,在「>」之後做什麼是'Int'?請幫我理解這一塊帶有圖案的scala
我認爲函數文本是象:
(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
}
'選項[INT] => Int'是類型 – sschaef
天上... 。 謝謝!! – Bruce
這是非常少用的語法;通常只需寫'def withDefault(o:Option [Int]):Int = o match {...}'。 –