我试图在scala中做一个简单的累积和,但是它给了我一个错误-递归值需要类型。我怎么解决这个问题?
val numIter = 20
val total_duration = 0
for {i <- 0 until numIter } {
  val t1 = System.nanoTime
  val df_left_joined2 = df2.join(df_s2, Seq("id"), "left_outer")
  val duration = (System.nanoTime - t1) / 1e9d
  val total_duration = total_duration + duration
  println(total_duration)}错误:递归值total_duration需要类型
我试图通过以下方式定义变量类型,它给出了一个不同的错误
val numIter = 20
val total_duration: Double = 0
for {i <- 0 until numIter } {
  val t1 = System.nanoTime
  val df_left_joined2 = df2.join(df_s2, Seq("id"), "left_outer")
  val duration = (System.nanoTime - t1) / 1e9d
  val total_duration: Double = total_duration + duration
  println(total_duration)}错误:前向引用扩展到值total_duration的定义之上
发布于 2019-07-22 17:53:16
val total_duration = total_duration +持续时间
您正在重新定义常量total_duration,因此出现了错误消息。
看起来你想要做的事情,是使用一个var
var total_duration = 0val total_duration = total_duration + duration行变成:
total_duration = total_duration + durationhttps://stackoverflow.com/questions/57151249
复制相似问题