The Neophyte's Guide to Scala Part 12: Type Classes 过去的两周我们讨论了一些使我们保持DRY和灵活性的函数式编程技术,特别是函数组合,partial function的应用,以及currying.接下来,我将会继续讨论如何使你的代码尽可能的灵活. 但是,这次我们将不会讨论怎么使用函数作为一等对象来达到这个目的,而是使用类型系统,这次它不是阻碍着我们,而是使得我们的代码更灵活:你将会学到关于 type classes 的知识. 你可能会觉得这是一…
一.数组 在Scala中,用()来访问元素,数组声明的语法格式如下 : var z:Array[String] = new Array[String](3) 或 var z = new Array[String](3) 类型参数化数组 Scala里用new实例化对象,实例过程中,可以用值和类型使对象参数化(在创建实例的同时完成对它的“设置”). scala> val greetString =new Array[String](3) greetString: Array[String] = Ar…
一.Scala的层级 1.1类层级 Scala中,Any是所其他类的超类,在底端定义了一些有趣的类NULL和Nothing,是所有其他类的子类. 根类Any有两个子类:AnyVal和AnyRef.其中AnyVal是Scala里每个内建值类的父类 scala> new Int <console>:12: error: class Int is abstract; cannot be instantiated new Int 1.2底层类型 在Scala类层级中,可看到scala.Null和…