【发布时间】:2017-09-23 14:49:41
【问题描述】:
我有一个 scala 元组列表,按元组的第一个元素降序排序。
我尝试了以下一些操作,它们可以从列表中返回一些元素或List()
scala> val l = List((95,6),(10,2),(8,5))
l: List[(Int, Int)] = List((95,6), (10,2), (8,5))
scala> l.filterNot({case (x,y)=>x/5<2})
res6: List[(Int, Int)] = List((95,6), (10,2))
scala> l.filterNot({case (x,y)=>x/5<200})
res7: List[(Int, Int)] = List()
我想编写一个实用方法,如果filterNot 没有将列表清空到 List(),则可以包装并返回 List 的第一个元素的 Option 类型,这将是一个元组。如果filterNot 给了我List(),我只想返回None。如果filterNot 给我一个带有项目的List,我想做Option(l(0))。我可以通过常规的 if 检查来做到这一点,但我想知道如何以更实用的方式做到这一点?
【问题讨论】:
-
Some(l(0))或None是l.headOption,顺便说一句