文章标题关闭所有内容预览 | 展开所有内容预览
-
Scala 第一个Scala程序
[内容预览]
0 | 2019-01-19 04:45:36
由Shaodengdeng创建,最后一次修改2017-01-15Scala第一个Scala程序我们可以执行Scala代码,首先使用scalac命令行工具编译它。objectHelloWorld{defmain(args:Array[String]){println("Hello,World!")}}注意语句末尾的分号通...
[阅读全文]
-
Java 与 Scala
[内容预览]
0 | 2019-01-19 04:45:35
由Shaodengdeng创建,最后一次修改2016-08-12Java与ScalaJavapjavap的是JDK附带的一个工具。不是JRE,这里是有区别的。javap反编译类定义,给你展示里面有什么。用法很简单[local~/projects/interop/target/scala_2.8.1/classes/co...
[阅读全文]
-
Scala 并发编程
[内容预览]
0 | 2019-01-19 04:45:34
由Shaodengdeng创建,小路依依最后一次修改2016-08-12Scala并发编程Runnable/CallableRunnable接口只有一个没有返回值的方法。traitRunnable{defrun():Unit}Callable与之类似,除了它有一个返回值traitCallable[V]{defcall(...
[阅读全文]
-
使用 specs 测试
[内容预览]
0 | 2019-01-19 04:45:33
由Shaodengdeng创建,最后一次修改2016-08-12使用specs测试扩展规格让我们直接开始。importorg.specs._objectArithmeticSpecextendsSpecification{"Arithmetic"should{"addtwonumbers"in{1+1mustEqual...
[阅读全文]
-
更多的集合
[内容预览]
0 | 2019-01-19 04:45:32
由Shaodengdeng创建,最后一次修改2016-08-12更多的集合Scala提供了一套很好的集合实现,提供了一些集合类型的抽象。这让你的代码可以与Foo的集合交互,而无需担心该集合是是一个List,还是Set,或是任何你有的类型。这里提供了一个很好的页面来查看各种集合的默认实现,并链接到他们的scala在线文档...
[阅读全文]
-
简单构建工具
[内容预览]
0 | 2019-01-19 04:45:31
由Shaodengdeng创建,最后一次修改2016-08-12简单构建工具关于SBTSBT是一个现代化的构建工具。虽然它由Scala编写并提供了很多Scala便利,但它是一个通用的构建工具。为什么选择SBT?明智的依赖管理使用Ivy做依赖管理“只在请求时更新”的模型对创建任务全面的Scala语言支持连续执行命令在项目...
[阅读全文]
-
高级类型
[内容预览]
0 | 2019-01-19 04:45:29
由Shaodengdeng创建,最后一次修改2016-08-12高级类型视界(“类型类”)有时候,你并不需要指定一个类型是等/子/超于另一个类,你可以通过转换这个类来伪装这种关联关系。一个视界指定一个类型可以被“看作是”另一个类型。这对对象的只读操作是很有用的。隐函数允许类型自动转换。更确切地说,在隐式函数可以帮助满足...
[阅读全文]
-
类型和多态基础
[内容预览]
0 | 2019-01-19 04:45:28
由Shaodengdeng创建,最后一次修改2016-08-12类型和多态基础什么是静态类型?按Pierce的话讲:“类型系统是一个语法方法,它们根据程序计算的值的种类对程序短语进行分类,通过分类结果错误行为进行自动检查。”类型允许你表示函数的定义域和值域。例如,从数学角度看这个定义:f:R->N它告诉我们函数“f”是...
[阅读全文]
-
模式匹配与函数组合
[内容预览]
0 | 2019-01-19 04:45:27
由Shaodengdeng创建,最后一次修改2016-08-12模式匹配与函数组合函数组合让我们创建两个函数:scala>deff(s:String)="f("+s+")"f:(String)java.lang.Stringscala>defg(s:String)="g("+s+")"g:(String)java.la...
[阅读全文]
-
Searchbird
[内容预览]
0 | 2019-01-19 04:45:26
由Shaodengdeng创建,最后一次修改2016-08-12Searchbird我们要使用Scala和先前介绍的Finagle框架构建一个简单的分布式搜索引擎。设计目标:大图景从广义上讲,我们的设计目标包括抽象(abstraction:在不知道其内部的所有细节的前提下,利用该系统功能的能力)、模块化(modular...
[阅读全文]
-
集合
[内容预览]
0 | 2019-01-19 04:45:25
由Shaodengdeng创建,最后一次修改2016-08-12集合基本数据结构Scala提供了一些不错的集合。参考EffectiveScala对怎样使用集合的观点。列表Listscala>valnumbers=List(1,2,3,4)numbers:List[Int]=List(1,2,3,4)集Set集没有重复s...
[阅读全文]
-
Finagle 介绍
[内容预览]
0 | 2019-01-19 04:45:24
由Shaodengdeng创建,最后一次修改2016-08-12Finagle介绍Finagle-FriendlyREPL我们将要讨论的不是标准Scala的代码。如果你喜欢使用REPL学习,你可能想知道如何获得一个加入Finagle及其依赖的ScalaREPL。你可以在这里获取Finagle源代码。如果你在finagl...
[阅读全文]
-
基础知识(续)
[内容预览]
0 | 2019-01-19 04:45:23
由Shaodengdeng创建,最后一次修改2016-08-12基础知识(续)apply方法当类或对象有一个主要用途的时候,apply方法为你提供了一个很好的语法糖。scala>classFoo{}definedclassFooscala>objectFooMaker{|defapply()=newFoo|}defin...
[阅读全文]
-
基础
[内容预览]
0 | 2019-01-19 04:45:22
由Shaodengdeng创建,小路依依最后一次修改2016-08-12基础关于这节课最初的几个星期将涵盖基本语法和概念,然后我们将通过更多的练习展开这些内容。有一些例子是以解释器交互的形式给出的,另一些则是以源文件的形式给出的。安装一个解释器,可以使探索问题空间变得更容易。为什么选择Scala?表达能力函数是一等公民...
[阅读全文]
-
关于
[内容预览]
0 | 2019-01-19 04:45:20
由Shaodengdeng创建,最后一次修改2016-08-12Scala教程Scala是一门多范式的编程语言,一种类似Java的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。我们认为最有意义的学习方式是,不要把Scala看做是改进的Java,而是把它作为一门新的语言。所以这里不会介绍Java的使用经验...
[阅读全文]