Scala程序员可以构建控制抽象:看上去像是编程语言关键字的函数。
object test{
def until(condition: => Boolean)(block: =>Unit){
if(!condition){
block
until(condition)(block)
}
}
def main(args: Array[String]){
var x = 10
until(x==0){
x-=1
println(x)
}
//until 函数做了柯里化,参数1:x==0,参数2:x-=1,println(x)
}
}
程序输出:
9
8
7
6
5
4
3
2
1
0