zer*_*ing 2 functional-programming scala scala-cats
我有以下类定义:
final case class Creator[F[_]](topic: String, discovery: ServiceDiscovery[F])
(implicit sync: Sync[F]) {
import JsonDeserializer._
private def setting: ConsumerSettings[F, String, JsonDecoder] =
discovery
.kafkaAddr
Run Code Online (Sandbox Code Playgroud)
我想强制F[_]成为的实例Monad,可以这样使用flatMap:
private def setting: ConsumerSettings[F, String, JsonDecoder] =
discovery
.kafkaAddr
.flatMap.......
Run Code Online (Sandbox Code Playgroud)
如何存档?
导入语法
import cats.syntax.flatMap._
Run Code Online (Sandbox Code Playgroud)
既然cats.effect.Sync扩展了cats.Monad(和cats.FlatMap),那么您已经implicit sync: Sync[F]足够了。