對不起,似乎是一個斯卡拉新手問題,但可以說我有一個變量「minVal」,它是一個類中的Option [Int]。如果我得到一個更大的新觀察結果,我需要更新該變量。實際上,我有很多其他變量 - 例如,maxVal,minDates,maxDates,minLength,maxLength等。下面只是一小段代碼。所以除了Option [Int]之外,我還有Option [Date],Option [String],它具有類似的更新要求。如何更新基於新值的選項[A]的變量
我想知道是否有更好的方法來計算分鐘。
var minVal:Option[Int] = None
def registerObs(x: Option[Int]) = {
if (x.isDefined)
minVal match {
case None => minVal = x
case Some(mv) if mv < x.get => minVal = x
case _ =>
}
}
在此先感謝。
讓說,相當的「非功能性」(副作用,可變性,...) – cchantep
同意---可悲不起作用,但我需要記錄不同的事件。每個事件類型的類實例似乎是一個好方法。 – Bernie
很少有*可以推薦這種方法的情況。 – cchantep