码迷,mamicode.com
首页 > 其他好文 > 详细

王家林亲传《DT大数据梦工厂》第四讲For与Function进阶实战、Lazy的使用

时间:2015-07-24 15:50:34      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:

王家林亲传《DT大数据梦工厂》第四讲For与Function进阶实战、Lazy的使用

你想了解大数据,你想成为年薪百万吗?那你还等着什么,快点来吧!跟着王家林老师学习spark大数据

第四讲For与Function进阶实战、Lazy的使用

For循环

object For_Function_Advanced{

def  main ( args: Array[String]): Unit ={

      for(i  <-  1 to 2;j <-  1 to 2)print((100*i + j) + “ ”)

printIn

     for(i  <-  1 to 2;j <-  1 to 2 if i !=j)print((100*i + j) + “ ”)//添加条件表达式

printIn

函数

def  addA(x : Int)  =  x +100

val add  = (x : Int)  => x+200\\匿名函数

printIn(“The result from a function is :” + addA(2))

printIn(“The result from a val  is :” + add(2))

Scala特点:函数是有值得;可以作为函数的参数去传递

Def fac(n:Int):Int   =  if ( n <= 0)  1 else n *  fac(n - 1)

printIn(“The result from a fac is : ”  + fac(10))

递归算法的函数要有返回值类型

函数参数默认值

def combine(content:String, left:String  = “[“,right:String = “]”)   =left  + content +right

printIn(“The result from a combine is :” +combine (“ I love Spark))

函数的参数是可变的

def connected(args:Int*) = {

var result =0

for(arg <- args) result +=arg

result

}

printIn(“The result from a connected is :” +connected(1,2,3,4,5))

Lazy使用

object LazyOps {

   def main (args: Array[String]): Unti = {

   lazy val file = Source.fromFile(“F:\\tuiguangneirong1.docx”)

  printIn(“Scala”)

for( line <- file.getLines) printIn(line)

}

     }

//Lazy 第一次使用的时候才实例化;延迟执行,懒执行,对同一个数据处理有迭代的计算

通过简单代码示例,从基础了解For循环,和For循环以后常用的方式(带有条件表达式)与Function基本(递归算法的函数要有返回值类型

和Scala的小特点:函数是有值得;可以作为函数的参数去传递)、Lazy的使用。希望自己跟着老师学习一点一点进步;

如果你了解的还是不清楚,你也可以学习此视频或者是记录一下联系方式

 

 视频地址:http://www.tudou.com/programs/view/ge646hSN8tc/

学习地址:http://mp.weixin.qq.com/s?__biz=MzAwNjAwODI3Mg==&mid=212579488&idx=2&sn=883193df2b3df163d49c4fdec1ecd585&scene=5#rd

王家林亲传《DT大数据梦工厂》第四讲For与Function进阶实战、Lazy的使用

标签:

原文地址:http://www.cnblogs.com/yfhiwifi/p/4673410.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!