关注码农话题
做一个实实在在的内行人

Scala

Java 与 Scala

阅读(64)

Javap javap 的是 JDK 附带的一个工具。不是 JRE,这里是有区别的。javap 反编译类定义,给你展示里面有什么。用法很简单 [local ~/projects/interop/target/scala_2.8.1/clas...

Scala 并发编程

阅读(75)

Runnable/Callable Runnable 接口只有一个没有返回值的方法。 trait Runnable { def run(): Unit } Callable与之类似,除了它有一个返回值 trait Callable[V] {...

使用 specs 测试

阅读(76)

扩展规格 让我们直接开始。 import org.specs._ object ArithmeticSpec extends Specification { "Arithmetic" should { "add two numbers" i...

更多的集合

阅读(58)

更多的集合 Scala 提供了一套很好的集合实现,提供了一些集合类型的抽象。这让你的代码可以与 Foo 的集合交互,而无需担心该集合是是一个 List,还是 Set,或是任何你有的类型。 这里提供了一个很好的页面来查看各种集合的默认实现,并...

简单构建工具

阅读(61)

关于 SBT SBT 是一个现代化的构建工具。虽然它由 Scala 编写并提供了很多 Scala 便利,但它是一个通用的构建工具。 为什么选择 SBT? 明智的依赖管理 使用 Ivy 做依赖管理 “只在请求时更新”的模型 对创建任务全面的 ...

高级类型

阅读(73)

视界(“类型类”) 有时候,你并不需要指定一个类型是等/子/超于另一个类,你可以通过转换这个类来伪装这种关联关系。一个视界指定一个类型可以被“看作是”另一个类型。这对对象的只读操作是很有用的。 隐函数允许类型自动转换。更确切地说,在隐式函数...

类型和多态基础

阅读(83)

什么是静态类型? 按 Pierce 的话讲:“类型系统是一个语法方法,它们根据程序计算的值的种类对程序短语进行分类,通过分类结果错误行为进行自动检查。” 类型允许你表示函数的定义域和值域。例如,从数学角度看这个定义: f: R -> ...

模式匹配与函数组合

阅读(71)

函数组合 让我们创建两个函数: scala> def f(s: String) = "f(" + s + ")" f: (String)java.lang.String scala> def g(s: String) = "g(...

Searchbird

阅读(65)

我们要使用 Scala 和先前介绍的 Finagle 框架构建一个简单的分布式搜索引擎。 设计目标:大图景 从广义上讲,我们的设计目标包括 抽象 (abstraction:在不知道其内部的所有细节的前提下,利用该系统功能的能力)、 模块化 ...

集合

阅读(61)

基本数据结构 Scala 提供了一些不错的集合。 参考 Effective Scala 对怎样使用集合的观点。 列表 List scala> val numbers = List(1, 2, 3, 4) numbers: List[I...

入职你的梦想 VS 变现你的技术

IT面试宝典码农市场