當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Scala Option.unzip用法及代碼示例


unzip 方法(或屬性)屬於 scala.Option 類(class),其相關用法說明如下。

用法 一

final def unzip[A1, A2](implicit asPair: A <:< (A1, A2)): (Option[A1], Option[A2])

將一對 Option 轉換為第一個元素的 Option 和第二個元素的 Option。

這相當於:

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

類型參數:

A1

元素對前半部分的類型

A2

元素對後半部分的類型

值參數:

asPair

一個隱式轉換,它斷言此 Option 的元素類型是一對。

返回:

一對Options,分別包含這個Option的元素對的前半部分和後半部分。

源碼:

Option.scala

用法 二

def unzip[A1, A2](implicit asPair: A => (A1, A2)): (Iterable[A1], Iterable[A2])
option2Iterable 隱式添加

將此可迭代的對集合轉換為每對的前半部分和後半部分的兩個集合。

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

類型參數:

A1

前半部分元素對的類型

A2

後半部分元素對的類型

值參數:

asPair

一個隱式轉換,它斷言這個可迭代集合的元素類型是一對。

返回:

一對可迭代集合,分別包含此可迭代集合的每個元素對的前半部分和後半部分。

繼承自:

collection.IterableOps.unzip

源碼:

Iterable.scala

相關用法


注:本文由純淨天空篩選整理自scala-lang.org大神的英文原創作品 Option.unzip。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。