我想替换一个Option
非空的值。我可以使用map(_ => newValue)
类似 in的常量函数来做到这一点
Some("text").map(_ => 42)
有没有更简洁的方法,比如 Haskell 的<$
in 42 <$ Just "text"
?
IMO 已经很简洁了。它不会比标准库更短。(有关使用 Scalaz 的答案,请参见下文。)
斯卡拉兹:
scala> 1.some >| "x"
res0: Option[String] = Some(x)
scala> none[Int] >| "x"
res1: Option[String] = None
您可以使用as
而不是>|
.
如果您正在寻找“像 Haskell 中”的东西,您可能应该看看Scalaz
.