大数据系列修炼-Scala课程20
2016-08-16 17:07
399 查看
核心内容:
1、本地函数代码实战
2、作为一等公民的函数代码实战
1>本地函数即内部函数,在一个函数内部定义的函数叫做本地函数,本地函数可以使用外部函数的形式参数,本地函数是外部函数的私有函数,外部其余成员不可以进行访问
2>scala之所以支持内部函数,是因为函数在scala中是一等公民:函数可以当做变量一样来进行处理
示例代码1:本地函数
运行结果:
实例代码2:函数的相关操作
运行结果:
1、本地函数代码实战
2、作为一等公民的函数代码实战
1、scala中的本地函数 |
def f()= { def g()={} }
2>scala之所以支持内部函数,是因为函数在scala中是一等公民:函数可以当做变量一样来进行处理
示例代码1:本地函数
//本次程序的目的是内部函数(本地函数) object App { def main(args:Array[String]):Unit= //main函数的形式参数是一个字符串数组 { val filename = args(0) val width = args(1).toInt //形式参数从args中进行传递 processData(filename,width) } def processData(filename:String,width:Int)= { val fr = Source.fromFile(filename) for(line<- fr.getLines) processLine(line) //读取行文本并进行处理 def processLine(line:String)= { if(line.length() > width) println(filename+":"+line) } } }
运行结果:
C:\\word.txt:hello she C:\\word.txt:hello she
实例代码2:函数的相关操作
//本次程序的目的是内部函数(本地函数) object App { def main(args:Array[String]):Unit= //main函数的形式参数是一个字符串数组 { var a = (x:Int) => x+100 //scala中匿名函数的使用 println(a(200)) //300 val array = Array(-100,-50,0,10,20,30) array.foreach { x => print(x) } println array.filter { x => x> 10 }.foreach { x => print(x) } println val f = (_:Int) + (_:Int) //函数当做一个数值进行定义 println(f(5,100)) } }
运行结果:
300 -100-500102030 2030 105
相关文章推荐
- 大数据系列修炼-Scala课程40
- 大数据系列修炼-Scala课程01
- 大数据系列修炼-Scala课程15
- 大数据系列修炼-Scala课程16(2)
- 大数据系列修炼-Scala课程83
- 大数据系列修炼-Scala课程08
- 大数据系列修炼-Scala课程41
- 大数据系列修炼-Scala课程51
- 大数据系列修炼-Scala课程53
- 大数据系列修炼-Scala课程07
- 大数据系列修炼-Scala课程87
- 大数据系列修炼-Scala课程29
- 大数据系列修炼-Scala课程47
- 大数据系列修炼-Scala课程54
- 大数据系列修炼-Scala课程59
- 大数据系列修炼-Scala课程88
- 大数据系列修炼-Scala课程30
- 大数据系列修炼-Scala课程55
- 大数据系列修炼-Scala课程61
- 大数据系列修炼-Scala课程101