为什么下面的函数在scala中不起作用?
def getUpdatedMap(keywords: String, m: Map[String, String]) : Map[String, String] = {
m += (keywords -> "abcde")
}
Run Code Online (Sandbox Code Playgroud)
编译错误:值+ =不是Map [String,String]的成员
我在Scala中很新,我忘记定义或丢失的任何东西?谢谢.
// import mutable map as MutableMap
import scala.collection.mutable.{Map => MutableMap}
val mmap = MutableMap("a" -> 1)
mmap += "b" -> 2 // mutates original map
// mmap = Map(b -> 2, a -> 1)
// use immutable map
val imap = Map("c" -> 3)
val updatedIMap = imap.updated("d", 4) // returns a new updated immutable map
// imap = Map("c" -> 3)
// updateIMap = Map(c -> 3, d -> 4)
Run Code Online (Sandbox Code Playgroud)
你完全没有遗漏任何东西.Map正如+=编译器所说,只是没有方法.查看API文档.
我想你想要的方法是+.
def +[B1 >: B](kv: (A, B1)): Map[A, B1]向此地图添加键/值对,返回新地图.
def getUpdatedMap(keywords: String, m: Map[String, String]):
Map[String, String] = m + (keywords -> "abcde")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7555 次 |
| 最近记录: |