3

猫中是否有与traverseMfrom scalaz 等效的功能?我还没有找到任何与类型签名匹配的东西。这是来自 scalaz scala 文档的签名和描述:

final def traverseM[A, G[_], B](fa: F[A])(f: (A) ⇒ G[F[B]])(implicit G: Applicative[G], F: Bind[F]): G[F[B]]

一个 traverse 版本,其中一个后续的单子连接应用于内部结果。

根据猫中的其他函数来定义自己是相当简单的,traverseM但如果它可用,我更愿意使用库中的函数。

4

2 回答 2

0

正如@Peter 指出的那样,从版本0.6.0中,有traverseM一部分是Traverse

 /**
   * A traverse followed by flattening the inner result.
   */
  def traverseM[G[_], A, B](fa: F[A])(f: A => G[F[B]])(implicit G: Applicative[G], F: FlatMap[F]): G[F[B]]
于 2019-05-09T14:09:12.940 回答
0

我认为您正在寻找的是flatTraverse

类型签名是

flatTraverse[G[_], A, B](fa: F[A])(f: A => G[F[B]])(implicit G: Applicative[G], F: FlatMap[F]): G[F[B]]

traverseM这与您提到的签名或多或少相同。

于 2018-08-18T05:54:59.990 回答