RosettaCodeData/Task/Loops-Do-while/Scala/loops-do-while-3.scala

6 lines
196 B
Scala

def loop(i: Int, cond: (Int) => Boolean): Stream[Int] = {
val succ = i + 1;
succ #:: (if (cond(succ)) loop(succ, cond) else Stream.empty)
}
loop(0, (_ % 6 != 0)).foreach(println(_))