我目前有点累,所以我可能会错过明显的东西。
我有一个var _minVal: Option[Double]
,它应保存 s 集合中包含的最小值Double
(如果集合为空,则为 None)
在向集合中添加新项目时,我也必须检查是否_minVal
为 None 或大于新项目(=新最小值的候选)。
我已经从
_minVal = Some(_minVal match {
case Some(oldMin) => if (candidate < oldMin) candidate
else oldMin
case None => candidate
})
(不是很干)到
_minVal = Some(min(_minVal getOrElse candidate, candidate))
但仍然认为我可能遗漏了一些东西……</p>