我想替换一个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.