Scala 将元组数组转换为映射

Scala 将元组数组转换为映射,scala,Scala,转换元组数组的最佳功能方式是什么: Array[(String, String)] 地图 Map[String, String] 已尝试以下方法: def arrayToMap(array:Array[(String, String)]):Map[String, String] = { array.foldLeft(Map.empty[String, String]) ((x,y) => (x->y)) } not enough arguments for me

转换元组数组的最佳功能方式是什么:

Array[(String, String)]
地图

Map[String, String]
已尝试以下方法:

  def arrayToMap(array:Array[(String, String)]):Map[String, String] = {
    array.foldLeft(Map.empty[String, String]) ((x,y) => (x->y))
  }
not enough arguments for method toMap: (implicit ev: (String, String) <:< (T, U))scala.collection.immutable.Map[T,U]. Unspecified value parameter ev.
但此编译错误显示为:

type mismatch; found : (scala.collection.immutable.Map[String,String], (String, String)) required: scala.collection.immutable.Map[String,String]
改为使用
toMap()
,如下所示:

  def arrayToMap(array:Array[(String, String)]):Map[String, String] = {
    array.toMap()
  }
提供以下信息:

  def arrayToMap(array:Array[(String, String)]):Map[String, String] = {
    array.foldLeft(Map.empty[String, String]) ((x,y) => (x->y))
  }
not enough arguments for method toMap: (implicit ev: (String, String) <:< (T, U))scala.collection.immutable.Map[T,U]. Unspecified value parameter ev.
没有足够的参数用于方法toMap:(隐式ev:(字符串,字符串)使用toMap:

@ val a: Array[(String, String)] = Array(("a", "b"), ("c", "d"))
a: Array[(String, String)] = Array(("a", "b"), ("c", "d"))

@ a.toMap
res1: Map[String, String] = Map("a" -> "b", "c" -> "d")

删除参数,然后更换

toMap()


解决了不起作用的问题。已编辑问题以显示错误。抱歉。问题是我使用了toMap()。删除参数-toMap-似乎起作用。我认为,只需删除几乎所有的代码和注释,并直接询问为什么
数组((1->2)),这个问题就会变得更有用。toMap()
导致“没有足够的参数用于方法toMap”-错误。如果您在标题中准确地引用错误,很可能会随着时间的推移累积一些向上投票,因为这似乎可能是一个不完全明显的初学者错误,这是由通常忽略的参数列表和隐式的CanBuildFrom引起的。