“An object is data with functions. A closure is a function with data.” — John D. Cook
http://docs.scala-lang.org/tutorials/tour/automatic-closures.html
-
object TargetTest2 extends App{
-
def loop(body: =>Unit):LoopUnlessCond =
new LoopUnlessCond(body) -
protected class LoopUnlessCond(body:=>Unit){
-
def unless(cond:=>Boolean){
-
body
-
if(!cond) unless(cond)
-
}
-
}
-
var i =10
-
loop{
-
println("i = " + i)
-
i-=1
-
} unless (i==0)
-
}