文章转载自http://my.oschina.net/u/915967/blog/146746本文主要是windows平台的安装,linux环境操作类似。首先到http://www.scala-sbt.org/release/docs/Getting-Started/Setup.html下载wind...
分类:
其他好文 时间:
2015-01-03 13:12:02
阅读次数:
1286
actor提供了并发程序中与传统的基于锁的结构不同的另一种选择,通过尽可能避免锁和共享状态,actor更容易地设计出正确、没有死锁或争用状况的程序。Scala提供了actor的简单实现,akka(http://akka.io)提供了高级actor类库。每个actor都要扩展Actor类并重写Act方法,actor是处理异步消息的对象,消息可以是任何对象,通过!操作符发送消息,例如:actorX !...
分类:
其他好文 时间:
2015-01-03 08:10:41
阅读次数:
333
1.简洁1.1。java的写法class MyClass { private int index; private String name; public MyClass(int index, String name) { this.index = i...
分类:
其他好文 时间:
2015-01-02 21:02:26
阅读次数:
199
在scala中,函数是头等公民,可以用变量存储函数,可以使用匿名函数,和带参数的函数。如果需要一个序列的值,一般从一个简单序列转化得出。函数可以在变量不再作用域内时被调用,这样的函数叫闭包。柯里化是指将原来接受两个参数变成接受一个参数的函数的过程。不需要用return语句来返回函数值,函数的返回值就是函数体的值。 scala中,用方括号来定义类型参数,从调用该方法的实际参数来推断出类型。视图界定 ...
分类:
其他好文 时间:
2015-01-02 19:58:27
阅读次数:
242
Scala提供了对xml的内建支持,可以用scala.xml.Elem的值表示一个XML元素。Node类是所有xml节点类型的父类,Elem类描述xml元素。要处理某个元素的属性键和值,可以用attributes属性,然后用()来访问定键的值 ,使用循环或asAttrMap方法遍历所有属性。内嵌的字符串会被转成Atom[String]节点,所以可在xml中包含scala代码,被内嵌的scala代码...
分类:
其他好文 时间:
2015-01-02 18:48:03
阅读次数:
180
与switch不同,scala模式匹配没有break的问题。如果case中的判断不能匹配,则捕获所有的模式来尝试匹配。变量模式可能与常量表达式冲突,变量必须以小写字母开头。如果有一个小写字母开头的常量,则需要把它抱在反引号中。在类型匹配的时候,必须给出一个变量名,否则会拿对象本身来进行匹配。由于匹配发生在运行时,Jvm中泛型的类型信息是被擦掉的,所有不能用类型来匹配特定的Map类型。正则表达式是适...
分类:
其他好文 时间:
2015-01-02 16:08:52
阅读次数:
180
注解可以在程序的各个条目中添加信息,是插入到代码中以便有工具可以对他们进行处理的标签。可以对是scala类使用java注解,也可以使用scala特有的注解。在scala中,可为类,方法,字段,局部变量和参数添加注解。Java注解的参数类型只能是:1)数值型变量2)字符串3)类变量4)java枚举5)其他注解6)上述类型的数组。如果要实现一个新的Java注解,则需要用Java来编写该注解类。scal...
分类:
其他好文 时间:
2015-01-02 16:08:00
阅读次数:
199
所有集合都是iterable的,seq是有先后次序的序列(如数组和列表),Set是没有先后次序的序列,map是一种键值对偶。scala优先采用不可变集合,::操作符从给定的头和尾创建一个新的列表。如果要把列表中的某个节点变成列表中的最后一个节点,不能将next引用设为nil,而应该设为LinkedList.empty.已排序的集使用红黑树实现的,scala2.9没有可变的已排序集,要用到java....
分类:
其他好文 时间:
2015-01-02 14:41:20
阅读次数:
208
scala.io.source对象的getlines方法可以读取文件的所有行,可以把source对象当成迭代器读取文件中的每个字符,java.util.Scanner来处理同事包含文本和数字的文件。从URL中读取时,需要事先知道编码格式,scala中没有提供读取二进制文件的方法,需要使用Java类库,同样没有内建的对写入文件的支持,可使用java.io.PrintWriter,访问目录也要用jav...
分类:
其他好文 时间:
2015-01-02 11:04:55
阅读次数:
158
变量、函数、类等的名称统称为标识符,反引号中可以包含几乎任何字符序列。在scala中,除了-以冒号:结尾的操作符-赋值操作符所有操作符都是左结合的。unapply方法接受一个对象,然后从中取值,通常是当初用来构造该对象的值。要取任意长度的值的序列,一般用unapplySeq命名方法。 Scala解析器库是scala语言总内嵌领域特定语言(DSL)的高级示例。为了使用Scala解析库,需提供一个扩展...
分类:
其他好文 时间:
2015-01-02 11:02:34
阅读次数:
115