Option [String]이 있고 거기에 Some (string)이 있으면 이것을 Int로 변환하려고합니다. 나는 다음을 할 것이다 :스칼라에서 Option [T]를 Option [U]로 변환
val foo: Option[String] = Some("5")
val baz: Option[Int] = foo match {
case Some(thing) => Some(thing.toInt)
case None => None
}
위대한 작품. 그러나, 이것은 매우 장황하고 많은 일처럼 보입니다. 누구든지이 일을하는 더 간단한 방법을 보여줄 수 있습니까?
감사합니다.
이 기능을 추출 할 수 있습니다 :
http://www.scala-lang.org/api/rc/scala/Option.html
는 또한이 컨닝 페이퍼가 도움이 될 수 있습니다 : 그냥 scaladoc 살펴보고 그것이라고 'Functor'. Functor 타입 클래스는 각각 List, Tree, Option 등의 인스턴스와 함께 작동 할 수 있습니다. 타입 클래스 기반 접근 방식으로 사용하기 시작하면 상당히 강력한 개념입니다. – AndreasScheinert