Scala 专题教程-Case Class和模式匹配(4): 模式的种类(三)

jerry Scala
类型模式 你可以使用类型模式匹配来代替类型检查和类型转换。比如: def generalSize(x:Any) = x match{ case s:String => s.length case m:Map[_,_] =m.size case _ => -1 ...
阅读全文

Scala 专题教程-Case Class和模式匹配(3): 模式的种类(二)

jerry Scala
构造器模式 构造器模式功能非常强大,比如一个构造器模式可以定义为 BinOp(?+?,e,Number(0)). 它由一个名称BinOp(某个case class的名称)和一系列有括号分开的模式构成(“+”,e和Number(0)).这个模式首先检查输入

Scala 专题教程-Case Class和模式匹配(2): 模式的种类(一)

jerry Scala
上个例子显示了几种不同的模式:常量模式,通配模式,变量模式等,本篇逐个介绍模式的种类。通配模式 通配符“_” 可以用来匹配任意对象,通常在模式匹配中作为最后一个匹配项,匹配其它所有的输入对象。比如: ex

Scala 专题教程-Case Class和模式匹配(1):简单的示例

jerry Scala
本专题侧重介绍Scala的case class和pattern matching(模式匹配),这俩个两个程序结构对于处理树结构的数据非常有帮助。Scala的case class使得对对象进行模式匹配变得非常方便,简单的来说,Scala的case class就是

Scala Specs2 测试入门教程(7): Spec2 可选的Matcher (匹配运算)

jerry Scala
除了之前介绍的Spec2内置的Matcher, 针对不同的功能,Spec2还提供了一些可选的Matcher,比如:Result 如果你需要其它Matcher的结果: // you need to extend the ResultMatchers trait class Matche...
阅读全文

Scala Specs2 测试入门教程(6): Spec2 内置的Matcher (匹配运算)

jerry Scala
前面的两篇博客Scala Specs2 测试入门教程(3): 测试结果Results和Scala Specs2 测试入门教程(4): 期望结果 简要介绍了Spec的预期结果,其中说明 在Specs2的Example 对象为一个文字加上任意可以转换成Result对象(org

Scala Specs2 测试入门教程(5): Fragments API 简介

jerry Scala
前面的例子 import org.specs2._ class HelloWorldAcceptanceSpec extends Specification { def is = s2""" This is a specification to check the 'He...
阅读全文

Scala Specs2 测试入门教程(4): 期望结果

jerry Scala
书写测试用例一个步骤是书写测试的预期结果。 函数化 Spec2中缺省Specification Trait是函数化的,也就是说Example的Result值为代码中的最后一条语句提供。比如下面的示例,永远不会失败,这是的第一个测试的结果给

Scala Specs2 测试入门教程(3): 测试结果Results

jerry Scala
在第一篇文章我们说过Specs可以有两种风格的测试规范:单元测试规范和验收测试规范,我们来看其中的一个例子: def is = s2""" this is my specification and example 1

Scala Specs2 测试入门教程(2):Specs2 的设计思想

jerry Scala
Scala Specs2 测试入门教程(2):Specs2 的设计思想
在详细介绍Specs2  用法之前,我们先了解一下Specs2的设计思想: 结构 Specs2的测试规范Specification的结构非常简单,它有多个Fragment构成,这个Fragment的列表由SpecificationStructure Trait的is方法来指明: