让我们考虑下面的定义以整数的嵌套可迭代结构中添加了所有元素:阵列阵列作为Iterables
def add(xss : Iterable[Iterable[Int]]) : Int = xss.map(_.sum).sum
然而,评估下列表达式产生一个错误类型:
scala> add(Array(Array(1,2,3)))
<console>:9: error: type mismatch;
found : Array[Array[Int]]
required: Iterable[Iterable[Int]]
add(Array(Array(1,2,3)))
^
该函数按预期与其他Iterables(如列表)一起工作。我怎样才能避免这个错误?它的基本原理是什么?猜测这与Java本身的数组本身有关,但在这种情况下不知道具体细节。
谢谢
应该接受'可迭代[可迭代[INT]]'而不是方法?因为这为我编译。 –
你说得对。我错误地复制了代码。现在它已被纠正。谢谢。错误依然存在。 – pepeStck