随笔分类 - Scala
摘要:DataSet:面向对象的,从JVM进行构建,或从其它格式进行转化 DataFrame:面向SQL查询,从多种数据源进行构建,或从其它格式进行转化 RDD DataSet DataFrame互转 DataFrameTest1.scala DataFrameTest2.scala DataFrameT
阅读全文
摘要:补充:http://blog.csdn.net/lyrebing/article/details/20369445http://developer.51cto.com/art/200907/134957.htmhttp://nerd-is.in/2013-08/scala-learning-file...
阅读全文
摘要:待完成http://www.gtan.com/akka_doc/http://my.oschina.net/mingdong/blog/297972http://www.jdon.com/concurrent/akka/tutorial.htmlhttp://ju.outofmemory.cn/en...
阅读全文
摘要:感谢博主lyrebing博文地址:http://blog.csdn.net/lyrebing/article/details/204460611. Actor用法1.1 Actor的基本使用Scala会建立一个线程池共所有Actor来使用。receive模型是Actor从池中取一个线程一直使用;re...
阅读全文
摘要:http://blog.csdn.net/beautygao/article/details/38497065https://github.com/scala/scala-xmlhttp://stackoverflow.com/questions/24559236/object-xml-is-not...
阅读全文
摘要:正则表达式语法:https://msdn.microsoft.com/zh-cn/library/ae5bf541(VS.80).aspx基础知识:正则表达式30分钟入门教程http://www.jb51.net/tools/zhengze.html 版本:v2.33 (2013-1-10) 作者:...
阅读全文
摘要:提取器就是一个带有unapply方法的对象。你可以把unapply方法当做是伴生对象中apply方法的反向操作。apply方法接收构造参数,然后将他们变成对象。而unapply方法接受一个对象,然后从中取值--通常这些值就是当初用来构造该对象的值。转自崔鹏飞的博客 博文地址:http://blog....
阅读全文
摘要:一、定义简单说,"函数式编程"是一种"编程范式"(programmingparadigm),也就是如何编写程序的方法论。它属于"结构化编程"的一种,主要思想是把运算过程尽量写成一系列嵌套的函数调用。举例来说,现在有这样一个数学表达式:(1+2)*3-4传统的过程式编程,可能这样写:vara=1+2;...
阅读全文
摘要:ListBuffer(列表缓冲)ListBuffer类位于 scala.collection.mutable.ListBuffer val buf = new ListBuffer[Int] val l1 = List(1,2,3,4,5) for (x<-l1) buf...
阅读全文
摘要:隐式转换的规则:1.无歧义规则:隐式转换唯有不存在其他可插入转换的前提下才能插入 若编译器有两种方法修正x+y 如convert1(x)+y,convert2(x)+y,会报错2.单一调用规则:只尝试一个隐式操作,编译器不会把x+y重写成convert1(convert2(x))+y3.显式调用规...
阅读全文
摘要:枚举scala不用关注枚举的特别语法,取而代之的是标准库中的类,scala.Enumeration想要创建新的枚举,只需要拓展这个类的对象即可object Color extends Enumeration{ val Red = Value val Green = Value val Blue...
阅读全文
摘要:package com.evor.test1class Test1 {}object Test1{ def main(args:Array[String]):Unit = { //类参数和抽象字段的初始化顺序并不一致 //抛出异常的原因:RationalTrait初始化的时候,deno...
阅读全文
摘要:转载自 fineqtbull http://fineqtbull.iteye.com/blog/477994有位je上的同学来短信向我问起了Scala类型参数中协变、逆变、类型上界和类型下界的使用方法和原理,自己虽然也刚学不久,在主要调查了《Programing in Scala》的19章后,试着在...
阅读全文
摘要:上界 下界 视界object Test{ def main(args:Array[String]):Unit={ def mulBy(factor:Double)=(x:Double)=>factor*x val triple =mulBy(3); println(triple(...
阅读全文
摘要:class Thermomenter{ var celsius :Float = _; //将变量设置为缺省值'_',这个符号指定了变量的初始化值 //对数值类型来说是0,布尔类型是false,引用类型是null //Scala中不能随便省略"=_"初始化器,若写成:var celsius...
阅读全文
摘要:补充知识:http://www.importnew.com/4543.html正文开始scala.collection.immutablescala.collection.mutable队列Queue val emp = scala.collection.immutable.Queue[Int...
阅读全文
摘要:注:列表是不可变的,不能通过赋值改变列表的元素 列表具有递归结构,数组是连续的 scala里的列表类型是协变的? -->scala中的逆变与协变分治原则 //自定义实现:::操作符 def append[T](xs:List[T],ys:List[T]):List[T]={ xs ...
阅读全文
摘要:模式在变量定义中 在定义val或者var的时候,可以使用模式替代简单的标识符,如可以使用模式拆分元组,并把每个值分配给变量val myTuple = (123,"abc")var (num,str) = myTuple 如此,num=123,str="abc" 如果知道正在使用的样本类的精确结...
阅读全文
摘要:样本类:添加了case的类便是样本类。这种修饰符可以让Scala编译器自动为这个类添加一些语法上的便捷设定。//样本类case class//层级包括一个抽象基类Expr和四个子类,每个代表一种表达式//样本类自动添加与类名一致的工厂方法abstract class Exprcase class V...
阅读全文
摘要:在scala里,对保护成员的访问比Java严格。Scala中,保护成员只在定义了成员的类的子类中可以访问,而Java中,还允许在同一个包的其他类中访问。package p1 { class FClass{ protected def fun(){ println("myfunction") ...
阅读全文