【发布时间】:2018-05-12 21:04:38
【问题描述】:
我正在尝试在 Scala 中构建 Vector[Map[String, Any]]。我知道 Vector 是不可变的,我正在使用可变 Map。
当我尝试这样做时:
def calculate_objectives(pop: Vector[Map[String, Any]]): Unit ={
for (i <- 0 until pop_size){
pop(i) = pop(i) + ("weights" -> decode(pop(i)("genome").asInstanceOf[Vector[Int]]))
pop(i) = pop(i) + ("objective" -> Vector(objective1(pop(i)("weights").asInstanceOf[Vector[Float]]), objective2(pop(i)("weights").asInstanceOf[Vector[Float]])))
}
}
我不是要更改向量,只是要更改向量内的地图。这可能吗?
当我尝试编译这段代码时遇到两个相同的错误,我想知道这是否是问题所在。
Error:(102, 7) value update is not a member of Vector[scala.collection.mutable.Map[String,Any]]
pop(i) = pop(i) + ("weights" -> decode(pop(i)("genome").asInstanceOf[Vector[Int]]))
【问题讨论】:
标签: scala dictionary vector