小编Mun*_* Ar的帖子

fs2 并发队列 Scala:缺乏洞察力

我是一个新手,试图掌握 fs2 队列背后的直觉。我正在尝试做一个从Stream[IO, Int]. 但是文档对我来说是不够的,因为它直接深入到高级内容中。

这是我到目前为止所做的:

import cats.effect.{ ExitCode, IO, IOApp}
import fs2._
import fs2.concurrent.Queue

class QueueInt(q: Queue[IO, Int]) {
  def startPushingtoQueue: Stream[IO, Unit] = {
    Stream(1, 2, 3).covary[IO].through(q.enqueue)
    q.dequeue.evalMap(n => IO.delay(println(s"Pulling element $n from Queue")))
  }
}

object testingQueues extends IOApp {
  override def run(args: List[String]): IO[ExitCode] = {

    val stream = for {
      q <- Queue.bounded(10)
      b = new QueueInt(q)
      _ <- b.startPushingtoQueue.drain
    } yield ()
  }

}
Run Code Online (Sandbox Code Playgroud)

问题 1:我No implicit argument of type Concurrent[F_], …

queue scala stream fs2

2
推荐指数
1
解决办法
661
查看次数

Cats Scala 中的序列和遍历来映射类型

我有一个类型的值List[EitherT[IO, String, Int]],我想对其进行序列以便将其映射到EitherT[IO,String, List[Int]]

我阅读并找到了序列方法,但它给了我一个错误,说它需要 [G] 的隐式应用,如何解决这个问题

types scala sequence applicative scala-cats

2
推荐指数
1
解决办法
1554
查看次数

从选项类型中获取价值的最佳和安全做法?

考虑到最佳实践,我试图在 Option 中获取值。例如,我有:

val listExample : List[Option[String]] = List(Some("A"), Some("B))
Run Code Online (Sandbox Code Playgroud)

我想访问AB 一种方式,正在做listExample.head.get = "A"listExample.last.get = "B"

但这不是一个好习惯。怎么办:listExample.headOption.flatten.ToString 这安全吗?

types scala list option scala-collections

0
推荐指数
1
解决办法
314
查看次数