当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Scala Option.unzip3用法及代码示例


unzip3 方法(或属性)属于 scala.Option 类(class),其相关用法说明如下。

用法 一

final def unzip3[A1, A2, A3](implicit asTriple: A <:< (A1, A2, A3)): (Option[A1], Option[A2], Option[A3])

将三元组的一个选项转换为三个选项,一个选项包含三元组每个位置的元素。

这相当于:

option match {
  case Some((x, y, z)) => (Some(x), Some(y), Some(z))
  case _               => (None,    None,    None)
}

类型参数:

A1

三元组中三个元素中第一个的类型

A2

三元组中三个元素中第二个的类型

A3

三元组中三个元素中第三个的类型

值参数:

asTriple

断言此选项的元素类型是三元组的隐式转换。

返回:

选项的三元组,分别包含此选项的元素三元组中的第一个、第二个和第三个元素。

源码:

Option.scala

用法 二

def unzip3[A1, A2, A3](implicit asTriple: A => (A1, A2, A3)): (Iterable[A1], Iterable[A2], Iterable[A3])
option2Iterable 隐式添加

将此三元组的可迭代集合转换为每个三元组的第一个、第二个和第三个元素的三个集合。

val xs = Iterable(
           (1, "one", '1'),
           (2, "two", '2'),
           (3, "three", '3')).unzip3
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three),
//        Iterable(1, 2, 3))

类型参数:

A1

元素三元组的第一个成员的类型

A2

元素三元组的第二个成员的类型

A3

元素三元组的第三个成员的类型

值参数:

asTriple

一个隐式转换,它断言这个可迭代集合的元素类型是三元组。

返回:

可迭代集合的三元组,分别包含此可迭代集合的每个元素三元组的第一个、第二个和第三个成员。

继承自:

collection.IterableOps.unzip3

源码:

Iterable.scala

相关用法


注:本文由纯净天空筛选整理自scala-lang.org大神的英文原创作品 Option.unzip3。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。