DT大数据梦工厂 温故而知新 之20讲

来源:互联网 发布:淘宝售假申诉代购小票 编辑:程序博客网 时间:2024/05/21 11:14

王家林亲授 大数据开发语言《Scala深入浅出实战经典》(1-71讲全部视频、代码、PPT)下载 ,总共有140讲Scala视频!
百度云:http://pan.baidu.com/s/1jGjFpWy
腾讯微云:http://url.cn/TnGbdC

360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2


DT大数据梦工厂 温故而知新 之20讲scala 中的本地函数 以及匿名函数的使用



package TestPractice.toweek



import java.lang.String
import scala.io.Source


/**
 * @author Administrator
 */
object NativeFunction {
  
  def main(args: Array[String]): Unit = {
  //本地函数的用法
    processData("E://Wangjialin.txt",5)
    //匿名函数的用法
    var increse=(x:Int)=> println(x+1)
    increse(10)
    increse=(x:Int)=>println(x+1000)
    increse(1)
    //list集合
    val someNumbers =List(-11,-10,-5,0,10)
    someNumbers.foreach ((c:Int) => println(c))
    
    someNumbers.foreach(println(_))
    
    someNumbers.filter((m:Int) => m>0)
       
    someNumbers.filter((m) => m>0)
    
  val some2= someNumbers.filter(m => m>0)
  println(some2.toString())
  var some3=  someNumbers.filter(_ >0)
  println(some3.toString())
    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 soruce =Source.fromFile(filename)
    for(line <- soruce.getLines())processLine(line)
  }
  
  
}

控制台输出:

E://Wangjialin.txtasdafsafdsafds
E://Wangjialin.txtdsfdsa
E://Wangjialin.txtdsffcd
11
1001
-11
-10
-5
0
10
-11
-10
-5
0
10
List(10)
List(10)
15


//总结  :本地函数实际上就是 私有函数的定义  但是有时候不想让内部的其他函数所访问可一定义成本地函数 及内部函数 这样起到一个强内聚的功能
0 0