实验 1
Scala 专题教程之 Extractor
知识点: 1.分解Email地址 2.定义Extractor 3.定义无参数和带一个参数的模式 4.可变参数的Extractors 5.Extractors和Seq模式 6.正则表达式
本课程侧重讲解 Scala 中的 Extractor ,它可以将数据模型和视图逻辑分离,在 Scala 体系中充当类似于适配器的角色,是一种极具函数式的做法。你将可以在课程中学到如何定义和设定 Extractor 。本课程难度为一般,属于初级级别课程,适合具有 Scala 基础的用户。
知识点: 1.分解Email地址 2.定义Extractor 3.定义无参数和带一个参数的模式 4.可变参数的Extractors 5.Extractors和Seq模式 6.正则表达式
引路蜂 共发布过 6 门课程
CSDN 专家博主,擅长Java ME, Blackberry ,LWUIT , iPhone, Android, Windows Mobile, Mono , Windows Phone 7等平台开发,主页 http://www.imobilebbs.com/
查看老师的所有课程 >
Ok.
一、提取器概念 提取器对象是一个包含有 unapply 方法的单例对象。 unapply 方法接受一个实例对象然后返回最初创建它所用的参数。 提取器常用在模式匹配和偏函数中。
二、unapply的返回值 unapply 方法的返回值应当符合下面的某一条
有时,要提取的值的数量不是固定的,因此我们想根据输入来返回随机数量的值。这种情况下,你可以用 unapplySeq 方法来定义提取器, 此方法返回 Option[Seq[T]]。常见的例子有,用 case List(x, y, z) => 来解构一个列表 List, 以及用一个正则表达式 Regex 来分解一个字符串 String,例如 case r(name, remainingFields @ _*) =>。
示例1:不提取值(只判断真假)
示例2:提取单个值
示例3:提取多个值(传的元组)
示例4:提取多个值(传的Seq)
三、正则表达式
查询字符串
``` val dates = "Important dates in history: 2004-01-20, 1958-09-05, 2010-10-06, 2011-07-15" regex findPrefixOf str //查询单个 val firstDate = date.findFirstIn(dates).getOrElse("No
打卡