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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。