Scala 对函数调用中的值生成迭代器
设有一个函数Scala 对函数调用中的值生成迭代器,scala,iterator,Scala,Iterator,设有一个函数foo():Int。例如,每个调用foo()返回不同的值。仅举例说明: var i: Int = 0 def foo(): Int = { i += 1 i } 我想迭代这些值。实际上,我想构造一个迭代器it,这样每次调用it.next()都会被foo()反复调用。如何做到这一点?正如我常说的,这是你的朋友 Iterator.continually(foo()) 路易斯的答案更好,但这里有另一种方法: new Iterator[Int] { override
foo():Int
。例如,每个调用foo()
返回不同的值。仅举例说明:
var i: Int = 0
def foo(): Int = {
i += 1
i
}
我想迭代这些值。实际上,我想构造一个迭代器it
,这样每次调用it.next()
都会被foo()
反复调用。如何做到这一点?正如我常说的,这是你的朋友
Iterator.continually(foo())
路易斯的答案更好,但这里有另一种方法:
new Iterator[Int] {
override def hasNext: Boolean = true
override def next: Int = foo()
}