假設我們有一個Option [String],並且如果其中存在Some(string),我們希望將它變成Int to .toInt。我會做以下幾點:在Scala中將選項[T]轉換爲選項[U]
val foo: Option[String] = Some("5")
val baz: Option[Int] = foo match {
case Some(thing) => Some(thing.toInt)
case None => None
}
這很好。但是,它看起來非常冗長,並且像很多工作一樣。任何人都可以告訴我一個更簡單的方法嗎?
謝謝!
此功能可以抽象:它被稱爲'Functor'。函子類型類可以與它的各個實例一起工作,如:List,Tree,Option等。如果你開始使用基於類型類的方法,它是一個非常強大的概念。 – AndreasScheinert