scala/ScalaBook/chapter-01/loop.scala

def DoWhile(body: => Unit)(cond: => Boolean): Unit = { 
  body;
  ( if (cond) 
      DoWhile(body)(cond) 
    else 
      ()
    ) 
} 


def loop(pre: => Unit)(cond: => Boolean)
        (post: => Unit): Unit = { 
  pre
  if (!cond) {
    post 
    loop(pre)(cond)(post)
  } 
       
} 

//DoWhile{
//  println(x) 
//  x=x-1
//}(x>0)

var x=6; var y=0;
loop{
  x=x-1
  y=y+1
} (x == 0 ) {
  println(x)
  println(y)
}