Scala补丁功能


object TestScala {
def main(args: Array[String]): Unit = {
val mainList = List(3, 2, 1)
mainList.patch(1, Seq(5), 0)
println("mainList-->"+mainList)
 }
}

输出是mainList-->List(3, 2, 1)不期望的

我期望3,5,2,1

scala列表是不变的。将其分配给变量,并产生所需的输出。

object TestScala {
def main(args: Array[String]): Unit = {
var mainList = List(3, 2, 1)
mainList  = mainList.patch(1, Seq(5), 0)
println("mainList-->"+mainList)
 }
}

诸如Scala之类的功能语言更喜欢不变的数据结构。

undfelined_variable提供的答案是正确的,但您应该更喜欢VAL:

object TestScala {
  def main(args: Array[String]): Unit = {
   val mainList = List(3, 2, 1)
   val newList  = mainList.patch(1, Seq(5), 0)
   println("newList-->"+newList)
  }
}

最新更新