72

有没有办法,仅使用 Scala 集合 API,在尝试通过索引获取元素时获取 List 中的选项?

我正在寻找这个功能的等价物,它存在吗?

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

谢谢

4

1 回答 1

155

是的,您可以将您的收藏提升到一个功能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
于 2013-04-26T07:51:44.150 回答