gpt4 book ai didi

list - 在 Scala 2.7 上收集方法

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

我在找 collect scala 2.7 中的方法,但我似乎找不到适用的调用。是否有等同于 collect 的东西我可以在scala中使用吗?

明确地说,我希望从列表中过滤元素并将过滤后的元素映射到新类型。

最佳答案

您可以使用 flatMap (2.7 中的完整方法签名是 def flatMap[B](f : (A) => Iterable[B]) : List[B] )。它在 Iterable 上都声明和 Iterator (签名略有不同):

scala> val l = List("1", "Hello", "2")
l: List[java.lang.String] = List(1, Hello, 2)

scala> val ints = l.flatMap { s => try { Some(s.toInt) } catch { case _ => None } }
ints: List[Int] = List(1, 2)

在上面的例子中,我利用了显式转换 option2iterablePredef .它在 TraversableLike 上的 2.8 中声明:
def flatMap[B, That](f: A => Traversable[B])(implicit bf: CanBuildFrom[Repr, B, That]): That

关于list - 在 Scala 2.7 上收集方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1913467/

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