![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
scala
文章平均质量分 56
路飞_连乐
码农一枚!
展开
-
跟连乐一起学Scala-高阶函数
高阶函数作为值的函数 Scala中,函数是”头等公民”import scala.math._val num = 3.14val fun = ceil _对于函数,你能做什么呢?调用它传递它,存放在变量中,或者作为参数传递给另一个函数。调用示例:fun(num) //传递示例:Array(3.14, 1.43, 2.0).map(fun)匿名函数 Scala中,你无需给每一个函数命原创 2015-06-16 20:31:39 · 131 阅读 · 0 评论 -
跟连乐一起学Scala-操作符
操作符标识符 变量,函数,类等的名称统称为标识符。中置操作符如下:a 标识符 b这种标识符代表一个带有两个参数的方法。 比如:1 to 10 //等价于1.to(10)1 -> 10//等价于1.->(10)这种表达式叫做中置表达式。一元操作符 中置操作符是二元的,因为它有两个参数。 只有一个参数叫做一元操作符。 比如:1.toString()//等价于:1原创 2015-06-15 09:42:28 · 151 阅读 · 0 评论 -
跟连乐一起学Scala-特质
特质为什么没有多重继承Scala提供“特质”而非接口。特质可以同时拥有抽象方法和具体方法,而类可以实现多个特质。当做接口使用的特质trait Logger { def long(msg: String) //这是个抽象方法}子类:class ConsoleLogger extends Logger { //使用extends关键字 def long(msg: String) {原创 2015-06-15 09:41:53 · 130 阅读 · 0 评论 -
跟连乐一起学Scala-隐式转换
隐式转换 定义: 以implicit关键字声明的带有单个参数的函数。implicit def int2Fraction(n: Int) = Fraction(n, 1)val result = 3 * Fraction(4, 5) //调用int2Fraction(3)//隐式转换将整数3转换成了一个Fraction对象。这个对象又被乘以Fraction(4, 5)利用隐式转换丰富现有原创 2015-07-11 09:53:07 · 294 阅读 · 0 评论 -
跟连乐一起学Scala-定界延续
捕获并执行延续var count: (Unit => Unit) = nullvar fileName = "myfile.txt"var contents = ""reset { while(contents == "") { try { contents = scala.io.Source.fromFile(fileName, "UTF-8")原创 2015-07-12 09:41:32 · 226 阅读 · 0 评论 -
跟连乐一起学Scala-高级类型
欢迎加入Scala讨论QQ群212859367,和连乐一起讨论学习!单例类型 例子:class Document{ def setTitile(title: String) = {...; this} def setAuthor(author: String) = {...; this} ...}val atticle.setTitle("whatever floats原创 2015-07-04 17:11:42 · 382 阅读 · 0 评论 -
跟连乐一起学Scala-Actor
每个actor都要扩展Actor类并提供act方法; 要网actor发送消息,可以使用actor ! message 消息发送时异步的,“发完就忘” 要接收消息,actor可以调用receive或react,通常是在循环中这样做 receive/react 的参数是由case语句组成的代码块 不同的actor之间不应该共享状态。总是使用消息来发送数据。 不要直接调用actor原创 2015-07-10 21:42:47 · 238 阅读 · 0 评论 -
跟连乐一起学Scala-继承
继承扩展类 extends关键字class Employee extends Person { ...//some codes}重写方法 override关键字超类的构造class Employee(name: String, age: Int, val salary: Double) extends Person(name, age)class Employee(name:原创 2015-06-09 21:15:28 · 114 阅读 · 0 评论 -
跟连乐一起学Scala-包和引入
包和引入包package com { package founder { package fbbs { class Student { ...//some codes } } }}串联式包语句package com.founder.fbbs { package原创 2015-06-08 21:11:54 · 167 阅读 · 0 评论 -
跟连乐一起学Scala-类型参数
欢迎加入Scala讨论QQ群212859367,和连乐一起讨论学习!泛型类例子:class Pair[T, S](val first: T, val second: S)泛型函数例子:def getMiddle[T](a: Array[T] = a(a.length / 2))Scala会从调用该方法使用的实际参数来推断出类型。getMiddle(Array("Mary", "had", "a",原创 2015-06-27 08:23:19 · 413 阅读 · 0 评论 -
跟连乐一起学Scala-对象
对象单例对象 Scala中没有静态方法或静态字段,你可以用Object这个语法来达到相同的目的。object Account { private var lastNumber = 0 def newUniqueNumber() = { lastNumber += 1 lastNumber }}对象的构造器在该对象第一次被使用时调用。伴生原创 2015-06-06 08:11:50 · 107 阅读 · 0 评论 -
跟连乐一起学Scala-类
类简单类和无参方法class Counter { private var value = 0 //你必须初始化字段 def increment() {values += 1} //方法默认是公有的 def current() = value }调用:val myCounter = new Counter //或new Counter()myCounter.incremen原创 2015-06-04 21:37:51 · 103 阅读 · 0 评论 -
跟连乐一起学Scala-XML处理
欢迎加入Scala讨论QQ群212859367,和连乐一起讨论学习!XML处理XML字变量val doc = <html><head><title>Hello,Scala</title><body>...</body></head></html>XML节点 Node类是所有XML节点类型的祖先。例子:val items = new NodeBufferitems += <li>Fred</l原创 2015-06-25 21:02:49 · 216 阅读 · 0 评论 -
跟连乐一起学Scala-映射和元组
映射和元组构造映射//不可变的Map[String, Int]val scores = Map("Alice" -> 10, "Bob" -> 3, "Cindy" -> 8)//可变Map[String, Int]val scores = scala.collection.mutable.Map("Alice" -> 10, "Bob" -> 3, "Cindy" -> 8)//空映射val原创 2015-06-03 22:18:39 · 122 阅读 · 0 评论 -
跟连乐一起学Scala-注解
欢迎加入Scala讨论QQ群212859367,和连乐一起讨论学习!注解什么是注解 注解是那些你插入到代码中以便有工具可以对它们进行处理的标签。 工具可以在代码级别运作,也可以处理被编译器加入了注解信息的类文件。@Test(timeout = 100) def testSomeFeature() { ... }@Entity class Credentials { @Id @Be原创 2015-06-22 18:55:11 · 209 阅读 · 0 评论 -
跟连乐一起学Scala-模式匹配和样例类
欢迎加入Scala讨论QQ群212859367,和连乐一起讨论学习!模式匹配和样例类更好的switchvar sign = ...val ch: Char = ...ch match { case '+' => sign = 1 case '-' => sign = -1 case _ => sign = 0}守卫 守卫可以是任何Boolean条件。ch match原创 2015-06-22 18:53:57 · 169 阅读 · 0 评论 -
和连乐一起学Scala-基础
基础scala下载,安装,配置环境变量本人操作系统使用Ubuntu14,IDE使用IntelliJ IDEA 环境变量配置和windows略有不同,请大家自行解决,官网很清楚。 Scala官网链接:http://www.scala-lang.org/ Scala配置环境变量官网链接:http://www.scala-lang.org/download/install.html声明值和变量使用v原创 2015-06-02 21:37:06 · 136 阅读 · 0 评论 -
跟连乐一起学Scala-集合
欢迎加入Scala讨论QQ群212859367,和连乐一起讨论学习!集合主要的集合特质 Seq 是一 个有先后次序的值的序列。比如数组和列表。IndexedSeq允许我们通过整型的下标快速的访问任意元素。 Set 是一组没有先后次序的值。在SortedSet中,元素以某种排过序的顺序被访问。 Map 是一组(键,值)对偶。SortedMap按照键的排序访问其中的实体。序列 Ve原创 2015-06-18 22:29:06 · 223 阅读 · 0 评论 -
跟连乐一起学Scala-文件和正则表达式
文件和正则表达式读取行import scala.io.Sourceval source = Source.fromFiles("myFile.txt", "UTF-8")//第一个参数可以是字符串或者是java.io.Fileval lineIterator = source.getLines//得到的结果是一个迭代器//处理for(i <- lineIterator) //处理i//处理成字原创 2015-06-15 09:41:12 · 127 阅读 · 0 评论