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


Scala Option.zip用法及代碼示例


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

用法 一

final def zip[A1 >: A, B](that: Option[B]): Option[(A1, B)]

返回一個 scala.Some 由該選項和另一個選項通過組合成對的相應元素形成.如果兩個選項中的任何一個為空,則返回None

這相當於:

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

值參數:

that

將被壓縮的選項

例子:

// Returns Some(("foo", "bar")) because both options are nonempty.
Some("foo") zip Some("bar")
// Returns None because `that` option is empty.
Some("foo") zip None
// Returns None because `this` option is empty.
None zip Some("bar")

源碼:

Option.scala

用法 二

def zip[B](that: IterableOnce[B]): Iterable[(A, B)]
option2Iterable 隱式添加

通過成對組合相應的元素,返回由該可迭代集合和另一個可迭代集合形成的可迭代集合。如果兩個集合中的一個比另一個長,則忽略其剩餘元素。

類型參數:

B

返回對的後半部分的類型

值參數:

that

提供每個結果對的後半部分的可迭代對象

返回:

一個新的可迭代集合,其中包含由該可迭代集合的對應元素和that 組成的對.返回集合的長度是這個可迭代集合和 that 長度中的最小值。

繼承自:

IterableOps

源碼:

Iterable.scala

相關用法


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