ITPub博客

首页 > 应用开发 > Java > Scala本地函数

Scala本地函数

原创 Java 作者:541732025 时间:2015-11-29 23:43:05 0 删除 编辑

点击(此处)折叠或打开

  1. def main(args: Array[String]) {
  2.         val width = args(0).toInt
  3.         for (arg <- args.drop(1)) //取index==1的值
  4.          processData(arg, width) 
  5.         
  6.          var increase = (x: Int) => x + 1 //increase被赋值为一个匿名函数
  7.          println(increase(10))
  8.          increase = (x: Int) => x + 9999 //increase再被赋值
  9.         
  10.          val someNumbers = List(-11, -10, -5, 0, 5, 10)
  11.          someNumbers.foreach((x: Int) => print (x)) //自定义一个匿名函数
  12.          println
  13.          someNumbers.filter((x: Int) => x > 0).foreach((x: Int) => print (x))
  14.          println
  15.          someNumbers.filter((x) => x > 0).foreach((x: Int) => print (x))
  16.          println
  17.          someNumbers.filter(x => x > 0).foreach((x: Int) => print (x))
  18.          println
  19.          someNumbers.filter(_ > 0).foreach((x: Int) => print (x))
  20.          println
  21.          val f = (_: Int) + (_: Int) //函数也可以作为一个值
  22.          println(f(5, 10))
  23.     }
  24.     
  25.     def processData(filename: String, width: Int) {
  26.     
  27.      //本地函数-函数内部的函数,这种函数屏蔽了外部的访问
  28.      def processLine(line: String) {
  29.      if (line.length > width)
  30.          println(filename +": "+ line)
  31.      }
  32.     
  33.      val source = Source.fromFile(filename)
  34.      for (line <- source.getLines)
  35.          processLine(line)
  36.     
  37.     }

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28912557/viewspace-1849320/,如需转载,请注明出处,否则将追究法律责任。

上一篇: Scala正则表达式
下一篇: Scala偏函数
请登录后发表评论 登录
全部评论

注册时间:2013-05-23

  • 博文量
    127
  • 访问量
    479619