scala之安全 Iterator.max
pander-it
阅读:17
2024-11-24 20:56:43
评论:0
是否有库提供类似 Iterator.max
的函数,但返回的是 Option[A]
而不是 A
考虑可能为空的迭代器?或者,是否有库提供类 PosInf[A]
或与 A
相邻的正无穷大?
(很明显,这些都是我自己做的繁重工作,但使用库几乎总是比复制代码更可取。)
请您参考如下方法:
scalaz :MA.maximum
。用法:
import scalaz._; import Scalaz._
List(1, 2, 3).maximum == Some(3)
List.empty[Int].maximum == None
唯一的问题是这不能直接与迭代器一起使用,因此您必须改用 Stream
(例如使用 Iterator.toStream
)
List(1, 2, 3).iterator.toStream.maximum = Some(3)
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。