object Test extends dotty.runtime.LegacyApp { def testTakeWhile = { val numbers = Iterator.range(0, 50) val zeroTo9 = numbers.takeWhile(x => { println("p(" + x + ")"); x < 10 } ) zeroTo9.foreach(println _) val zeroTo1 = Iterator.range(0, 20).takeWhile(x => { println("p(" + x + ")"); x < 2 } ) println(zeroTo1.hasNext) println(zeroTo1.hasNext) println(zeroTo1.next) println(zeroTo1.hasNext) println(zeroTo1.next) println(zeroTo1.hasNext) println(zeroTo1.hasNext) } def testFilter = { val predicate = (x: Int) => { println("p(" + x + ")"); x % 2 == 0 } val evens = Iterator.range(0, 10).filter(predicate) println(evens.hasNext) println(evens.hasNext) println(evens.next) evens.foreach(println _) } testTakeWhile testFilter }