Question

Is there a way, only using the Scala collection API, to get an Option in a List when trying to get an element by its index?

I'm looking for the equivalent of this function, does it exist?

def optionalValue[T](l: List[T], index: Int) = {
  if (l.size < (index+1)) None 
  else Some(l(index))
}

Thanks

Was it helpful?

Solution

Yes, you can lift your collection to a function Int => Option[A]:

scala> List(1,2,3).lift
res0: Int => Option[Int] = <function1>

scala> List(1,2,3).lift(9)
res1: Option[Int] = None
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top