82得票1回答
如何使用scalaz-stream替换作为序列状态转换流编写的程序?

我正在尝试理解如何重新组织一个程序,我之前会将其编写为状态转换的序列: 我有一些业务逻辑: type In = Long type Count = Int type Out = Count type S = Map[Int, Count] val inputToIn: String =...

48得票1回答
使用Scalaz Stream进行解析任务(替换Scalaz Iteratees)

介绍 我在许多项目中使用 Scalaz 7 的迭代器,主要用于处理较大的文件。我想开始转向使用 Scalaz stream, 它们旨在取代 iteratee 包(它缺少很多部分,而且使用起来很麻烦)。 Streams 基于 machines(迭代器思想的另一种变体),这些机器已经在 Has...

32得票2回答
Scala流处理库的区别(响应式流/迭代器/RxScala/Scalaz...)

我正在Coursera上跟随Scala函数响应式编程课程,我们处理RxScala Observables(基于RxJava)。 据我所知,Play Iteratee库有点像RxScala Observables,其中Observables有点像Enumerators,而Observers则有...

12得票1回答
Scala快速读取文本文件并上传到内存

在Scala中,读取文本文件并将其上传到数组中的常见方法是scala.io.Source.fromFile("file.txt").getLines.toArray 特别是对于非常大的文件,也许有一种更快的方法,先将字节块读入内存,然后通过换行符进行分割?(有关常用方法,请参见在Scala中读...

11得票3回答
http4s - 如何将GET请求的body作为字符串或输入流获取

我正在尝试定义一个HttpService,它接收JSON并使用json4s库将其解析为case class: import org.http4s._ import org.http4s.dsl._ import org.json4s._ import org.json4s.native.Js...

11得票1回答
为什么我们需要使用scalaz.stream而不是iteratee?

最近,我一直在使用scalaz.iteratee和Play的iteratee。 我认为,与旧的命令式while循环相比,迭代器提供了模块化的绝佳方法--目标是使用函数作为每个新行的处理程序,而不是从文件中获取string[]。 然而,当我查看scalaz.stream的功能概述时,它提到设计...

10得票1回答
如何从TCP读取并写入标准输出?

我无法运行一个简单的scalaz-stream示例,从TCP读取并写入标准输出。val src = tcp.reads(1024) val addr = new InetSocketAddress(12345) val p = tcp.server(addr, concurrentReques...

8得票3回答
将scalaz-stream进程分裂成两个子流

使用scalaz-stream,是否可以拆分/分叉然后重新连接流? 举个例子,假设我有以下函数: val streamOfNumbers : Process[Task,Int] = Process.emitAll(1 to 10) val sumOfEvenNumbers = strea...

7得票1回答
如何将Iterator转换为scalaz流?

假设我有一个 Iterator[A]。我想将其转换为 scalaz stream 的 Process[Nothing, A]。 import scalaz.stream._ def foo[A](it: Iterator[A]): Process[Nothing, A] = ??? 你...

7得票1回答
将scalaz-stream输入进程合并似乎会在标准输入上“等待”

我有一个简单的程序: import scalaz._ import stream._ object Play extends App { val in1 = io.linesR("C:/tmp/as.txt") val in2 = io.linesR("C:/tmp/bs.txt"...