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) 


标签:Scala
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号