我有一个Stream[A]和一个函数zeroOrMoreB(value: A): Seq[B]给定A返回零个或多个B 。 从这两部分,我如何构造一个Stream[B] ? 我可以得到一个Stream[Stream[B]] (见下文),但我不知道如何将它展平。 ...
我有一个Stream[A]和一个函数zeroOrMoreB(value: A): Seq[B]给定A返回零个或多个B 。 从这两部分,我如何构造一个Stream[B] ? 我可以得到一个Stream[Stream[B]] (见下文),但我不知道如何将它展平。 ...
我有一个相当简单的用例。 我有两个Web服务调用,一个获取产品,另一个获取关系。 我想运行fetchProducts()首先从产品集中提取一个字段,然后将输出传递给fetchRelationships(ids:Seq [String]),以便可以在产品上重新设置关系。 这是代码: ...
我正在尝试使用fs2流0.10.0-M9和doobie版本0.5.0-M9从http调用中获取一系列对象,然后将其插入到postgres数据库中,但是在构造此代码时遇到了问题,出现以下错误: 错误:(49,12)无法证明Seq [fs2.Stream [cats.effect.IO,I ...
使用Scalaz Task我用scalaz.Nondeterminism.both做这个: 或者使用Nondeterminism[Task].gatherUnordered() 。 如何使用fs2 0.9.x版本任务执行相同的操作? ...
我正在尝试遵循https://github.com/functional-streams-for-scala/fs2/wiki/Binding-to-asynchronous-processes上的第一个示例 填补一些空白并添加一些调试打印信息,我得到了以下代码: 当我尝试运行此命 ...
在这个片段中, y.run没有进行类型检查。 编译器显示此错误: could not find implicit value for parameter C: scalaz.Catchable[[x]Test.StateStringTask[x]] 我必须创建一个Catcha ...
我想将两个scalaz流与一个谓词结合起来,该谓词从任一流中选择下一个元素。 例如,我希望此测试通过: 如您所见,我们无法像zip一样巧妙地处理两个元素,因为有时可能会连续选择其中一个过程。 我a了一个我认为可行的解决方案。 它编译了! 但是,如果它什么都不做,该死的。 J ...
我试图定义HttpService接收JSON并将其分析与案例类json4s库: 我怎样才能得到org.json4s.JsonInput从req.body或req.bodyAsText ? 我知道json4s也有继承自JsonInput StringInput和StreamInput用于与Str ...
考虑以下代码: 我想使用Process.bracket来管理资源: 并针对一系列数字运行计算: 到目前为止一切顺利...我得到以下结果: 现在,我想并行运行昂贵的计算: 我得到这个结果: 显然,调用方括号的释放功能为时过早,过早关闭了资源。 我究 ...
我有两个流,并且我希望只能基于每x秒运行一次的计算消耗一个流。 我想我基本上需要创建第三个tick流-像every(3.seconds) -进行计算,然后在其他两个之间进行切换。 我有点被困在这里(我只是刚刚开始使用scalaz-stream来开玩笑)。 谢谢! ...
我有一个scalaz-stream过程: 我如何摆脱期权? 到目前为止,我已经使用了collect但它并不优雅: 有没有更好的办法? ...
我有一种预感,我可以(应该?)使用scalaz-streams解决这样的问题。 我有一个起始项A。我有一个接受A并返回A列表的函数。 我有一个以1个项目(起始项目)开头的工作队列。 当我们处理( doSomething )每个项目时,它可能会将许多项目添加到同一工作队列的末尾。 ...
filter (内部使用halt )终止其他分支,即使它有一些副作用: 似乎合乎逻辑,因为在该filter之后没有值要返回到yip 。 但是observe的副作用呢? 我当前的解决方案是使用flatMap指定默认值: 但是也许有一种使用filter吗? PS mer ...
假设我有一个Iterator[A] 。 我想将它转换为scalaz流的 Process[Nothing, A] 。 你会如何实现foo ? ...
我发现,没有更多的awakeEvery内scalaz.stream.Process现代scalaz流。 那如何定期运行呢? ...
我正在尝试使用计时器Process控制Process[F, A]的吞吐量: val p: Process[List,Int] = Process.iterateEval(0)(i => List(i + 1)) val timer: Process[Task, Duration] = tim ...
我有一个函数f和一个通道c def f(i: Int) = Task.now(i + 1) val c = channel.lift(f) 我想将函数f连续(或无限期地)应用于先前计算的输出。 我正在提供初始值。 我可以定义一个过程p val p = Process.emit ...
为什么njoin在处理之前njoin预取数据? 这似乎是不必要的复杂化,除非它与流程的合并方式有关? 每当有新元素生成时,我就有一个运行效果的流。 我想将影响降到最低,所以每当njoin ,例如maxOpen = 4应该是同时生成的最大元素数(除非可以立即处理,否则不应该生成任何元素) ...
给定这样的队列: 我想退出此队列并将其流化到下游Sink,以UP到100的块为单位。 的工作原理,但如果我说101条消息,它不会清空队列。 将剩下1条消息,除非再输入99条消息。我希望尽可能多地从队列中取出100条消息,并尽可能快地处理下游进程。 是否有现有的组合器? ...