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


Scala LazyZip3.lazyZip用法及代码示例


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

用法 一

def lazyZip[B](that: Iterable[B]): LazyZip4[El1, El2, El3, B, C1]

使用现有 LazyZip3 压缩 that 可迭代集合.在对返回的 LazyZip4 装饰器调用严格操作之前,不会消耗每个集合中的元素。

类型参数:

B

每个最终 4 元组中第四个元素的类型

值参数:

that

提供每个最终 4 元组的第四个元素的迭代

返回:

一个装饰器LazyZip4,它允许对延迟评估的元组执行严格的操作.还支持隐式转换为Iterable[(El1, El2, El3, B)]

源码:

LazyZipOps.scala

用法 二

def lazyZip[B](that: Iterable[B]): LazyZip2[A, B, View[A]]
lazyZip3ToIterable 隐式添加

类似于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)

类型参数:

B

每个最终对中第二个元素的类型

值参数:

that

提供每个最终对的第二个元素的可迭代对象

返回:

一个装饰器LazyZip2,它允许对延迟评估的对或对lazyZip的链式调用执行严格的操作.还支持隐式转换为Iterable[(A, B)]

继承自:

collection.Iterable.lazyZip

源码:

Iterable.scala

相关用法


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