1.样例类:case class
1.1 格式
case class ClassName(str:String) { … }
1.2 特点
-
样例类被声明后会自动生成工厂方法,即拥有apply()方法,可以通过ClassName("…")而不是new ClassName("…")实例化对象
-
样例类的参数会被认为是val格式,既case class ClassName(str:String){ } 中str是val格式的
-
样例类会自动生成toString(),hashCode 和equals方法
2.正则表达式
用三重双引号来表示正则表达式字符串,否则,就不得不对正则表达式的反斜杠进行转义,例如用 \s 表示 \s。你还可以通过创建一个 Regex 类的实例来定义正则表达式,如new Regex("""\W""")
,但这种用法并不常见。
在三个双引号内的正则表达式中使用变量插值是无效的。你依然需要对变
量插值进行转义,例如,你应该用 s"""$first\\s+$second""".r
,而不是s"""$first\s+$second""".r
。
val BookExtractorRE = "