摘要:
每当我们编写一个模式匹配时,都需要确保完整地覆盖了所有可能的case。有时候可以通过在末尾添加一个默认case来实现,不过这仅限于有合理兜底的场合。如果没有这样的默认行为,我们如何确保自己覆盖了所有的场景呢?我们可以寻求Scala编译器的帮助,由它帮助我们检测出match表达式中缺失的模式组合。为了 阅读全文
摘要:
模式的种类 通配模式(_) 常量模式 变量模式 构造方法模式 序列模式 元组模式 带类型的模式 变量绑定@ 除了独自存在的变量模式,我们还可以对任何其他模式添加变量。只需要写下变量名、一个@符号和模式本身,就可以得到一个变量绑定模式,这意味着这个模式将像平常一样执行模式匹配。如果匹配成功,就将匹配的 阅读全文
摘要:
第6章介绍了Scala面向对象的一些基础概念。本章将接着第6章,更详细地介绍Scala对于面向对象编程的支持。我们将对比类之间的两个最基本的关系:组合和继承。组合的意思是一个类可以包含对另一个类的引用,并利用这个被引用的类来帮助它完成任务。而继承是超类/子类的关系。除此之外,我们还会探讨抽象类、无参 阅读全文
摘要:
控制抽象是这样的函数,满足如下条件 参数是函数 函数参数没有输入值也没有返回值 ()=>Unit 简化处理:fun(funName:=>Unit) 第7章指出,Scala并没有很多内建的控制抽象,因为它提供了让用户自己创建控制抽象的功能。第8章介绍了函数值。本章将向你展示如何应用函数值来创建新的控制 阅读全文
摘要:
阅读全文