2013-07-11 4 views
0

Я пытаюсь создать карту с другой картой внутриСоздания вложенной карты с различным типом

val mymap = Map("name"->"somename",Map(1->2)) 

я получил от компилятора:

scala: type mismatch; 
found : scala.collection.immutable.Map[Int,Int] 
required: (?, ?) 
    val mymap = Map("name"->"somename",Map(1->2)) 
             ^
+0

Предположительно вам понадобится ключ для вашей вложенной «карты», которая является значением ... –

ответ

4

Почему вы ожидаете, что это работает? Вы предоставили только ключ без значения:

val key = Map(1->2) 
val mymap = Map("name"->"somename", key) 

Возможно, вы хотели объединить две карты? Это может быть сделано с:

val mymap = Map("name"->"somename") ++ Map(1->2) 
// scala.collection.immutable.Map[Any,Any] = Map(name -> somename, 1 -> 2) 
2

Карта состоит из пар ключ-значение (чей тип (?, ?)). Вы также должны присвоить значение карты ключу:

val mymap = Map("name"->"somename","othername"->Map(1->2)) 
Смежные вопросы