我有一个 Options 的迭代器,我想找到第一个成员:
- 一些
- 并遇到一个谓词
执行此操作的最佳惯用方法是什么?
另外:如果中途抛出异常,我想忽略它并转到下一个成员
最佳答案
optionIterator find { case Some(x) if predicate(x) => true case _ => false }
至于忽略异常……是可以throw
的谓词吗?因为那不是很明智。尽管如此……
optionIterator find {
case Some(x) => Try(predicate(x)) getOrElse false
case _ => false
}
关于Scala 惯用语从迭代器中找到第一个选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23531486/