0
아래의 방법으로 M
유형의 이해력을 어떻게 사용할 수 있습니까?고양이 - 범위에`Monad` 인스턴스가있을 때 for-comprehension을 사용하는 방법?
implicit class MOps[A](m: M[A])(implicit monad: Monad[M]) {
def flatMap[B](f: A => M[B]): M[B] = monad.flatMap(m)(f)
def map[B](f: A => B): M[B] = monad.map(m)(f)
}
그러나 확실히 고양이에 대한 방법이 있어야합니다 :
def foo[M[_]: Monad](m1: M[Int], m2: M[Int]) =
for {
a <- m1
b <- m2
} yield (a + b)
나는 그렇게 같은 flatMap
및 map
방법을 정의하여 작업 할 수 있습니다
value flatMap is not a member of type parameter M[Int]
A는거야 이러한 방법을 제공합니까?
감사합니다. 'cats.implicits._'를 가져 왔지만, 실패 할 때 전에 뭔가를 엉망으로 만들었어야합니다. 이제 작동 중입니다. 감사! – Samuel