gpt4 book ai didi

scala 类型不匹配错误,需要 GenTraversableOnce[?]

转载 作者:行者123 更新时间:2023-12-02 23:32:56 26 4
gpt4 key购买 nike

为什么这段代码会导致编译错误

type mismatch; found : (Int, Char) required: scala.collection.GenTraversableOnce[?]

val n = Map(1 -> 'a', 4 -> 'a')
def f(i: Int, c: Char) = (i -> c)
n.flatMap (e => f(e._1, e._2))

最佳答案

改用map():

n.map (e => f(e._1, e._2))

flatMap() 假设您返回的是值的集合而不是单个元素。因此这些可以工作:

n.flatMap (e => List(f(e._1, e._2))
n.flatMap (e => List(f(e._1, e._2), f(e._1 * 10, e._2)))

第二个例子很有趣。对于每个 [key, value] 对,我们返回两对,然后将它们合并,因此结果是:

Map(1 -> a, 10 -> a, 4 -> a, 40 -> a)

关于scala 类型不匹配错误,需要 GenTraversableOnce[?],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14539701/

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