scalaz流中Process.repeatEval的自定义迭代器

scalaz流中Process.repeatEval的自定义迭代器,scala,scalaz,Scala,Scalaz,我想使用scalaz流解析无限的URL。模板url响应如下所示: { nextUrl: "nextUrl" } 我正在考虑使用scalaz流无限地解析。我要用的方法是Process.repeatEval。但是,这有点困难,因为下一个链接嵌入到当前url中。因此,我创建了一个自定义迭代器,下面是一些伪代码 class Iterator { var currentUrl = null //state... def hasNext(): Boolean def next(): Ur

我想使用scalaz流解析无限的URL。模板url响应如下所示:

{
 nextUrl: "nextUrl"
}
我正在考虑使用scalaz流无限地解析。我要用的方法是Process.repeatEval。但是,这有点困难,因为下一个链接嵌入到当前url中。因此,我创建了一个自定义迭代器,下面是一些伪代码

class Iterator {
  var currentUrl = null //state...

  def hasNext(): Boolean

  def next(): UrlContent

}

Process.repeatEval(Task {iterator}).takeWhile(_.hasNext()).map(_.next()).run.run
它正在工作,但我对此并不感兴趣,因为迭代器有状态,我正在尝试删除可变值的用法

回到我的问题,我是否正在从scalaz stream中寻找合适的选择(Process.repeatEval)。如果是,我应该使用这个自定义迭代器吗


非常感谢您的回复,我使用了这个“`org.scalaz.stream”%%“scalaz stream”%%”0.8```