私は現在少し疲れているので、明らかなことを見逃しているかもしれません。
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>