【发布时间】:2017-09-02 18:36:39
【问题描述】:
我有如下嵌套地图:
val x: Map[String, Any] =
Map("a" -> "apple", "b" -> "ball", "c" -> Map("x" -> "cat", "y" -> 12))
我想把它转换成:
Map("a" -> "apple", "b" -> "ball", "x" -> "cat", "y" -> 12)
但是,如果我尝试将 flatten 调用为 x,则会出现异常。
x.flatten
Error:(40, 14) No implicit view available from (String, Any) => scala.collection.GenTraversableOnce[B].
println(mx.flatten)
Error:(40, 14) not enough arguments for method flatten: (implicit asTraversable: ((String, Any)) => scala.collection.GenTraversableOnce[B])scala.collection.immutable.Iterable[B].
Unspecified value parameter asTraversable.
println(x.flatten)
那么,我怎样才能提供隐式视图来展平上面的地图呢?
【问题讨论】:
-
看看这里:alvinalexander.com/scala/…我认为扁平化是错误的方法。
-
如果
x已经是外部地图上的键怎么办? -
一开始为什么会有这种数据结构?
标签: scala