我正在做一些Scala体操,Seq[T]在那里我尝试找到"最小"的元素.这就是我现在所做的:
val leastOrNone = seq.reduceOption { (best, current) =>
if (current.something < best.something) current
else best
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,但我不太满意 - 对于这么简单的事情来说有点长,而且我并不关心"如果".使用minBy会更优雅:
val least = seq.minBy(_.something)
Run Code Online (Sandbox Code Playgroud)
......但min与minBy抛出异常时序列为空.是否有一种惯用的,更优雅的方式来查找可能为空的列表中的最小元素Option?