猫的scalaz中是否有等同于traverseM
的函数?我没有找到任何与类型签名相匹配的内容。以下是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]]
应用后续monadic连接的遍历版本 内心的结果。
基于猫中的其他功能自定义traverseM
非常简单,但我更喜欢使用库中的函数(如果可用)。
答案 0 :(得分: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
的签名大致相同。
答案 1 :(得分: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]]