Christian Yonathan S.
Christian Yonathan S.

Reputation: 185

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

This question is about assign parameter value Option[List[String]] in Scala.

My code:

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

Upvotes: 0

Views: 311

Answers (1)

Yuval Itzchakov
Yuval Itzchakov

Reputation: 149598

A List is immutable in Scala. You cannot append/prepand values to the same list. If you do, you'll be given a new List containing the added values.

One possible implementation would look like this:

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 favors immutability and provides you convienient syntax to work with them. However, mutable lists do exist in Scala, you can find one, e.g, in scala.collection.mutable.MutableList

Upvotes: 0

Related Questions