Jay*_*lor 10 syntax functional-programming scala
假设我们有一个Option [String],如果那里有Some(字符串),我们想把它变成Int到.toInt.我会做以下事情:
val foo: Option[String] = Some("5")
val baz: Option[Int] = foo match {
case Some(thing) => Some(thing.toInt)
case None => None
}
Run Code Online (Sandbox Code Playgroud)
这非常有效.然而,它看起来非常冗长,并且像很多工作一样.任何人都可以告诉我一个更简单的方法吗?
谢谢!
ten*_*shi 16
似乎你需要map:
val baz = foo map (_ toInt)
Run Code Online (Sandbox Code Playgroud)
Optiontype支持许多集合操作(如map,filter等)和许多很好的有用函数.看看scaladoc吧:
http://www.scala-lang.org/api/rc/scala/Option.html
此备忘单也可以提供帮助:
http://blog.tmorris.net/scalaoption-cheat-sheet/