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

本文通过一个具体的Scala程序示例,介绍了如何使用Scala构建控制抽象,即定义类似于编程语言关键字的函数。具体实现了一个递归调用的until函数,该函数接受两个参数:一个条件表达式和一个操作块。
1919

被折叠的 条评论
为什么被折叠?



