Scala - How für die Rückgabe einer Karte mit dem Wert von der Funktion?
Warum unter-Funktion wird nicht funktionieren in scala?
def getUpdatedMap(keywords: String, m: Map[String, String]) : Map[String, String] = {
m += (keywords -> "abcde")
}
Kompilierungsfehler:
Wert += ist kein Mitglied der Map[String, String]
Ich bin ganz neu in der Scala, eine Sache, die ich habe vergessen zu definieren oder fehlt?
Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du verwechselst die unveränderlich
Map
und die veränderlichMap
.Fehlt dir nicht etwas, genau.
Map
einfach nicht ein+=
Methode, da der compiler sagt. Check-out die API-docs.Ich denke, die Methode, die Sie hier wollen, ist
+
.Als jeder andere sagte, unveränderlich
Map
hat keine+=
Methode. Möchte nur hinzufügen, dass vielleicht haben Sie es verwechselt mit compiler-Verknüpfung fürvar
s:Diese
+=
Verknüpfung ist die gleiche wiea = a + 2 -> 2
, so dass es nicht für die Arbeit, unveränderliche Werte, wie input-Parameter:Könnten Sie erklären, ein
var
innen Ihre Funktion, jedoch ist der beste und einfachste Weg ist die Verwendung+
wie jemand anderes gesagt.Ist es genau das was es sagt: Sie sind dem Aufruf der Methode
+=
aufm
, das ist einMap
, aberMap
nicht+=
Methode.Es ist nicht ganz klar zu mir, was Sie versuchen zu erreichen, von den blicken von ihm, scheint dies zu sein, was Sie wollen: