如何在 Scala 中从 Collection 的索引中获取选项?

有没有一种方法,只使用 Scala 集合 API,获取一个列表中的选项时,试图获取其索引的元素?

我在寻找这个函数的等价物,它存在吗?

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

谢谢

17401 次浏览

是的,你可以把你的收藏提升到函数 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