小编Sar*_*ain的帖子

在 Scala 中使用循环时使事情不可变

我在 Scala 中编写了几行代码,但不知道如何使用不可变变量 (val) 使同样的事情工作。任何帮助都感激不尽。

class Test {

  def process(input: Iterable[(Double, Int)]): (Double, Int) = {
    var maxPrice: Double = 0.0
    var maxVolume: Int = 0

    for ((price, volume) <- input) {
      if (price > maxPrice) {
        maxPrice = price
      }
      if (volume > maxVolume) {
        maxVolume = volume
      }
    }

    (maxPrice, maxVolume)
  }
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我将所有 var 转换为 val 并使其更具功能性吗?提前致谢!:)

functional-programming scala immutability purely-functional scala-collections

1
推荐指数
1
解决办法
82
查看次数