美文网首页
Scala本地函数

Scala本地函数

作者: 田真的架构人生 | 来源:发表于2017-08-01 09:41 被阅读0次
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)
     
    }

相关文章

网友评论

      本文标题:Scala本地函数

      本文链接:https://www.haomeiwen.com/subject/lradlxtx.html