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


Scala LazyList.lazyZip用法及代碼示例

lazyZip 方法(或屬性)屬於collection.immutable.LazyList類(class),其相關用法說明如下。

用法:

override def lazyZip[B](that: Iterable[B]): LazyZip2[A, B, LazyList[A]]

類似於zip,除了每個集合中的元素在返回的LazyZip2裝飾器上調用嚴格操作之前不會被消耗.

可以鏈接對lazyZip 的調用以支持更高的元組(最多 4 個),而不會產生構建和解構中間元組的費用。

val xs = List(1, 2, 3)
val res = (xs lazyZip xs lazyZip xs lazyZip xs).map((a, b, c, d) => a + b + c + d)
// res == List(4, 8, 12)

此方法對於惰性列表不是特別有用,因為 zip 已經保留了惰性。

此方法返回的collection.LazyZip2 保留了惰性;元素僅根據需要單獨評估。

定義類

源碼:

LazyList.scala

相關用法


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