簡體   English   中英

我的無標簽最終課程中的 Cats FlatMap 問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM