DT大数据梦工厂 第62讲

王家林亲授《DT大数据梦工厂》大数据实战视频“Scala深入浅出实战经典”视频、音频和PPT下载!第62讲:Scala中上下文界定内幕中的隐式参数与隐式参数的实战详解及其在Spark中的应用源码解析
百度云:http://pan.baidu.com/s/1pJoooun
腾讯微云:http://url.cn/eKIr1t
360云盘:http://yunpan.cn/cckNtsfZfGNQX 访问密码 b3dd
本节王老师讲了上下文界定中的隐式参数。主要有3种方式:
1)class A[T:Ordering](val first:T,val second:T){//Ordering[T]
def bigger(implicit ordered:Ordering[T])= //传递一个隐式参数ordered用来比较类A的成员变量的大小。
if(ordered.compare(first,second)>0) first else second
}
2)class B[T:Ordering](val first:T,val second:T){//Ordering[T]
def bigger=if(implicitly[Ordering[T]].compare(first,second)>0) first else second//调用一个predef中的implicitly方法,这个方法可以传递自动生成一个以Ordering[T]为泛型的隐式参数,这样就可以调用Ordering中的compare方法。
}
3)class C[T:Ordering](val first:T,val second:T){//Ordering[T]
def bigger={
import Ordered._
if(first>second) first else second//因为first和second没有>这个方法,这样编译器就会去寻找泛型Ordering[T],查看有没有隐式转换,找到了Ordered,查看其中存在>方法,就不会报错。于是结果就是最大值。
}
}

时间: 2024-08-13 21:13:25

DT大数据梦工厂 第62讲的相关文章

DT大数据梦工厂 第81讲

DT大数据梦工厂 第81讲http://yun.baidu.com/s/1uLFye本节王老师讲了list的逆变,协变,下界.abstaract class Big_Dataclass Hadoop extends Big_Data//一种 类型class Spark extends Big_Data//另一种类型object List_Constructor _Internals{ def main(args:Array[String]){  val  hadoop=new Hadoop::N

DT大数据梦工厂 第5讲

DT大数据梦工厂 第5讲 http://yun.baidu.com/s/1jGjFpWy 本节王老师讲了数组.最主要的是使用了scala worksheet这个功能.这个功能可以打印出每一行代码的运行情况. package com.dt.scala.hello import scala.collection.mutable.ArrayBuffer object ArrayOps { def main(args: Array[String]): Unit = {     val nums = ne

DT大数据梦工厂 第68讲

DT大数据梦工厂第68讲http://yun.baidu.com/s/1jGKSKAi本节王老师讲了Actor的高级应用.首先,主线程可以发消息给子线程,而子线程接收并处理完消息以后,可以返回给主线程一个消息.这就像邮箱的回复.这里可以在receive偏函数中,写一个关键字 sender !后面就是要发送的内容.而main方法接收时,可以用self.receive偏函数,接收.而且,也可以设置超时时间,用self.receiveWithin(超时时间毫秒){偏函数}这种方式,其作用是当主线程接收

DT大数据梦工厂 第77讲

王家林亲授<DT大数据梦工厂>大数据实战视频“Scala深入浅出实战经典”视频.音频和PPT下载!第77讲:模式匹配下的提取器动手构造实战百度云:http://pan.baidu.com/s/1dD10KFZ腾讯微云:http://url.cn/d8FtbN360云盘:http://yunpan.cn/cdZCgEx2kzytv 访问密码 3c53本节王老师讲了模式匹配下的提取器object :>{ def unapplay[A](list:List[A])={ Some(list.in

SCALA DT大数据梦工厂 第79讲

王家林亲授<DT大数据梦工厂>大数据实战视频“Scala深入浅出实战经典”视频.音频和PPT下载!第79讲:Scala单例深入讲解及单例背后的链式表达式腾讯微云:http://url.cn/bZPNhv百度云盘:http://pan.baidu.com/s/1eQdIzPw360云盘:http://yunpan.cn/cdm9IH3BEwnEY 访问密码 e591本节王老师讲了scala的单例object Scalaclass Java1class JVM{def method1:this.t

DT大数据梦工厂 第76讲

王家林亲授<DT大数据梦工厂>大数据实战视频“Scala深入浅出实战经典”视频.音频和PPT下载!第76讲:模式匹配下的赋值语句百度云:http://pan.baidu.com/s/1qWkPspm腾讯微云:http://url.cn/c2XO4B360云盘:http://yunpan.cn/cdKX92weEFGNd 访问密码 2990模式匹配用做赋值语句.用tuple中的元素来接收值val [email protected]=1000 a为b的别名,背后是用模式匹配完成的同时返回一个tup

DT大数据梦工厂 第74讲

王家林亲授<DT大数据梦工厂>大数据实战视频“Scala深入浅出实战经典”视频.音频和PPT下载!第74讲:从Spark源码的角度思考Scala中的模式匹配百度云:http://pan.baidu.com/s/1hqJByvU腾讯微云:http://url.cn/chV3CI360云盘:http://yunpan.cn/cdgz9G35mtADm  访问密码 f551本节王老师讲了从spark的角度来看模式匹配.首先是case class RegisterWorker 会受到akka的消息,对

DT大数据梦工厂 第51讲

王家林亲授<DT大数据梦工厂>大数据实战视频“Scala深入浅出实战经典”视频.音频和PPT下载!第51讲:Scala中链式调用风格的实现代码实战及其在Spark编程中的广泛运用百度云:http://pan.baidu.com/s/1eQGqzEa360云盘:http://yunpan.cn/cccd7HkCeibAN 访问密码 7766腾讯微云:http://url.cn/SshT6b 本期王老师讲了scala的链式调用,这样的好处就是把所有的东东都设置成常量,这样保证了没有副作用,为dag

DT大数据梦工厂 第78讲

王家林亲授<DT大数据梦工厂>大数据实战视频“Scala深入浅出实战经典”视频.音频和PPT下载!第78讲:Type与Class实战详解腾讯微云:http://url.cn/g8sTU8百度云盘:http://pan.baidu.com/s/1ntmr88LType和Class虚拟机中泛型在编译和运行时被擦除掉的.在运行时是通过反射来得到的.但是scala不同.scala.reflect.runtime.universe._type类和type比较,type比class更具体.任何数据都有ty