2

私は 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 ()
  }

}

質問 1:No implicit argument of type Concurrent[F_], 並行効果を使用していないことを知っているのですが、何が欠けているのかわかりませんか?

質問 2: 結果を印刷するにはどうすればよいですか。

質問 3: fs2 を学習するためのリソースを教えてもらえますか

4

1 に答える 1