如果我写:
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。为什么会这样?
答案 0 :(得分:2)
Map[A,B]
是A => B
,因此scala会将您的字符串转换为Map[T, Int]
。
有关ML的抱怨。