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

时间:2016-03-16 09:43:16

标签: string list scala option

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

我的代码:

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

1 个答案:

答案 0 :(得分:0)

在Scala中List是不可变的。您不能将/ 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

中找到一个列表