隐式地图阴影其他含义

时间:2013-12-30 15:43:24

标签: scala map implicit

如果我写:

class T
implicit val m = Map[String, Map[T, Int]]()
"123"(0)

它抱怨道:

<console>:10: error: type mismatch;
  found   : Int(0)
  required: T
          "123"(0)

但它应该返回'1'。我所理解的只是m不仅是隐含的,而且也是m.apply。为什么会这样?

1 个答案:

答案 0 :(得分:2)

Map[A,B]A => B,因此scala会将您的字符串转换为Map[T, Int]

有关ML的抱怨。