Scala中来自流的下一个元素

Exp*_*cat 4 scala stream

是否有方法或方法从流中获取每个下一个元素?

例如,如果有一个流看起来像

def natural: Stream[Long] = {
  def naturalHelper: Long => Stream[Long] = {
    n => n #:: naturalHelper(n+1)
  }
  naturalHelper(1)
}

val s = natural
Run Code Online (Sandbox Code Playgroud)

我正在寻找类似的东西s.next(),在第一次调用时返回2,在下次调用时返回s.next()= 3,依此类推......不使用var.

0__*_*0__ 9

使它成为一个迭代器

val s = natural.iterator
s.next()
s.next()
Run Code Online (Sandbox Code Playgroud)