在scala中创建文件读取的惰性序列

在scala中创建文件读取的惰性序列,scala,lazy-evaluation,Scala,Lazy Evaluation,我想创建一个惰性序列,从Scala中的输入流中读取值 import java.util._ object Main { val input = new Scanner(System.in) def main(args: Array[String]) { val it = new MyIt().take(5) } class MyIt extends Iterator[Int] { def hasNext = true

我想创建一个惰性序列,从Scala中的输入流中读取值

import java.util._

object Main {
    val input = new Scanner(System.in)
    def main(args: Array[String]) {
        val it = new MyIt().take(5)

    }
    class MyIt extends Iterator[Int] {
        def hasNext = true
        // def next = 29
        def next = input.nextInt
    }
}

当我将next=29更改为next=input.nextInt时,它将不再编译,并抱怨MyIt没有成员获取。看来我完全误解了什么。你能给我一个提示吗(或者链接到关于惰性序列的好文章-谷歌的结果很多,但垃圾似乎太多了-所以我迷路了)

导入java.util.\u
覆盖
scala.collection.Iterator
(默认情况下通过
scala
包对象中的类型别名提供)使用
java.util.Iterator
。只需将导入更改为
import java.util.Scanner