scalaz.syntax.std.OptionOps.cata在scalaz中做了什么?

时间:2015-02-09 05:40:36

标签: scala scalaz

这是来自scalaz的关于cata函数的description。但是使用这个功能的目的是什么?顺便说一下scalaz的scaladoc有描述,而不仅仅是代码。

1 个答案:

答案 0 :(得分:1)

它与fold上的scala.Option相同:它允许您将has-a-value分支和空分支映射到单个结果值。您可能会看到的任何地方

Option(x) match {
  case Some(y) => f(y)
  case None => y0
}

您可以在fold上使用Option或在scalaz上使用cata'变种而已。

(注意:对于这种特殊情况,模式匹配通常更有效,但并不总是更方便。)