我正在苦恼以下代码段:
当我调用 "add" 方法时,如下所示:
我期望
我该怎么解决呢?
谢谢!
type DB = Map[Int, Seq[String]]
var grades: DB = Map.empty
def add(name: String, grade: Int) = {
var names: Seq[String] = Seq(name)
if(grades isDefinedAt grade) {
names = names ++ grades(grade)
}
grades += (grade -> names)
}
当我调用 "add" 方法时,如下所示:
add(2, "Mike")
add(2, "Michelle")
add(2, "John")
我期望
grades
应该是(2, Seq(Mike, Michelle, John))
,但是实际上只包含了最后一个添加的(2, John)
。我该怎么解决呢?
谢谢!
scala> add("Mike", 2) scala> grades res2:DB = Map(2-> List(Mike)) scala> add("Michelle", 2) scala> grades res4:DB = Map(2-> List(Michelle,Mike))
- NOLFXceptMe