def main(args: Array[String]) {
val width = args(0).toInt
for (arg <- args.drop(1)) //取index==1的值
processData(arg, width)
var increase = (x: Int) => x + 1 //increase被赋值为一个匿名函数
println(increase(10))
increase = (x: Int) => x + 9999 //increase再被赋值
val someNumbers = List(-11, -10, -5, 0, 5, 10)
someNumbers.foreach((x: Int) => print (x)) //自定义一个匿名函数
println
someNumbers.filter((x: Int) => x > 0).foreach((x: Int) => print (x))
println
someNumbers.filter((x) => x > 0).foreach((x: Int) => print (x))
println
someNumbers.filter(x => x > 0).foreach((x: Int) => print (x))
println
someNumbers.filter(_ > 0).foreach((x: Int) => print (x))
println
val f = (_: Int) + (_: Int) //函数也可以作为一个值
println(f(5, 10))
}
def processData(filename: String, width: Int) {
//本地函数-函数内部的函数,这种函数屏蔽了外部的访问
def processLine(line: String) {
if (line.length > width)
println(filename +": "+ line)
}
val source = Source.fromFile(filename)
for (line <- source.getLines)
processLine(line)
}
网友评论