scala - 如何从 Scala 集合中的索引获取选项?

标签 scala scala-option

当尝试通过索引获取元素时,有没有一种方法可以仅使用 Scala 集合 API 来获取列表中的选项?

我正在寻找与此功能等效的功能,它存在吗?

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

谢谢

最佳答案

是的,您可以将集合提升为函数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

关于scala - 如何从 Scala 集合中的索引获取选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16231254/

相关文章:

scala - 如何有效地检查是否定义了两个选项?

database - 如何从 Play2!Scala Anorm 中的选择语句中检索 Option[List[X]] 而不是 List[X]?

scala - 在 for 理解中将选项与列表组合会导致类型不匹配,具体取决于顺序

scala - 如何使用反向路由测试重定向位置?

scala - Spark 1.6.1 : Task not serializable when evaluating a classifier on a DataFrame

scala - 为什么这个简单的 Scala for comprehension 不执行 future ?

scala - 为什么 Scala 选项的 foreach 比 get 更好?

Scala 选项 - 摆脱 if (opt.isDefined) {}

scala - Spark集群提交无法绑定(bind)slave地址

scala - spark-scala 检查点清理