这个问题是关于在Scala中分配参数值Option[List[String]]
。
我的代码:
def mapListString(pList : Option[List[String]]) = pList match {
case None => "-"
case Some(cocok) => cocok
case _ => "?"
}
答案 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