如何在 Scala 上分配值选项 [List[String]]

How Assign Value Option[List[String]] on Scala

这个问题是关于在 Scala 中分配参数值 Option[List[String]]

我的代码:

def mapListString(pList : Option[List[String]]) = pList match {
    case None => "-"
    case Some(cocok) => cocok
    case _ => "?"
}

A List 在 Scala 中是不可变的。您不能将 append/prepand 个值添加到同一个列表中。如果这样做,您将获得一个包含附加值的新 List

一种可能的实现如下所示:

scala> :paste
// Entering paste mode (ctrl-D to finish)

  val pList: Option[List[String]] = Some(List("hello"))
  val result = pList match {
    case None => Some(List("-"))
    case Some(cocok) => Some("x" :: cocok)
  }

// Exiting paste mode, now interpreting.

pList: Option[List[String]] = Some(List(hello))
result: Some[List[String]] = Some(List(hello, x))

Scala 支持不变性,并为您提供方便的语法来使用它们。但是,Scala 中确实存在可变列表,您可以找到一个,例如 scala.collection.mutable.MutableList