gpt4 book ai didi

scala - 可迭代两个元素?

转载 作者:行者123 更新时间:2023-12-05 00:21:06 25 4
gpt4 key购买 nike

我们有 Option这是一个 Iterable超过 0 或 1 个元素。

我想有这样一个有两个元素的东西。我拥有的最好的是
Array(foo, bar).map{...} ,而我想要的是:

(foo, bar).map{...}

(因此 Scala 识别出 Iterable 中有两个元素)。

标准库中是否存在这样的结构?

编辑:另一个解决方案是创建一个 map方法:
def map(a:Foo) = {...}

val (mappedFoo, mappedBar) = (map(foo), map(bar))

最佳答案

如果您只想映射相同类型的元组,一个简单的版本是:

implicit class DupleOps[T](t: (T,T)) {
def map[B](f : T => B) = (f(t._1), f(t._2))
}

然后您可以执行以下操作:
val t = (0,1)
val (x,y) = t.map( _ +1) // x = 1, y = 2

scala 标准库中没有用于映射正好 2 个元素的特定类型。

关于scala - 可迭代两个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32198788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com