gpt4 book ai didi

scala flatMap 展平嵌套列表

转载 作者:行者123 更新时间:2023-12-04 17:59:22 26 4
gpt4 key购买 nike

我正在学习 Scala 并解决了 99 个 Scala 问题。对于以下练习:

展平嵌套列表结构。示例:

scala> flatten(List(List(1, 1), 2, List(3, List(5, 8))))
res0: List[Any] = List(1, 1, 2, 3, 5, 8)

解决方案如下

def flatten(ls: List[Any]): List[Any] = ls flatMap {
case ms: List[_] => flatten(ms)
case elements => List(elements)
}

但我想知道为什么以下不起作用?

def flatten[A](ls: List[List[A]]): List[A] = ls flatMap {
case ms: List[_] => flatten(ms)
case elements => List(elements)
}

IntellJ IDEA 告诉我问题出在 flatten(ms) 部分,并在 List 类文档中说“无法用这样的签名解析引用展平” flatten 它说“注意:编译器可能无法推断类型参数”。

知道为什么第二个代码不起作用吗?

最佳答案

其他人提出了不同的问题,但使用了相同的示例。

我把每个步骤分解并解释一下here

关于scala flatMap 展平嵌套列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37431980/

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