![](/img/trans.png)
[英]Scala, cats - how to create tagless-final implementation with IO (or other monad) and Either?
[英]Problem with Cats FlatMap in my Tagless Final class
我有以下課程:
class MyBot[F[_] : FlatMap]
在這個類中,我有一個功能:
private def handleCallback(): F[Boolean]
根據我的理解,這應該有效:
handleCallback().flatMap(..)
但它拋出: cannot resolve symbol flatMap
我想念什么?
Mon Calamari的解決方案沒有解決我的問題,但是在建議的博客上檢查FlatMap
時,我發現:
import cats.implicits._
我錯過的import cats.implicits._
- 並解決了我的問題 - 一切都保持不變。
你需要召喚一個FlatMap[F]
的實例並使用它的方法來 flatMap:
class MyBot[F[_]](implicit F: FlatMap[F]) {
def handleCallback: F[Boolean] = ...
def flatMapCallback: F[Boolean] = F.flatMap(handleCallback) { bool =>
...
}
}
來自 eed3si9n 的精彩博客中的更多詳細信息: http ://eed3si9n.com/herding-cats/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.