0
 def sortAndCountInv[T](vec: Vector[T]): (Int, Vector[T]) = {
  val n = vec.length
  if (n == 1) {
    (0, vec)
  } 
  else {
    val (left, right) = vec.splitAt(n / 2)
    val (leftInversions, sortedLeft) = sortAndCountInv(left)
    val (rightInversions, sortedRight) = sortAndCountInv(right)
    val (splitInversions, sortedArray) = countSplitInvAndMerge(left, right)
    (leftInversions + rightInversions + splitInversions, sortedArray)
   }
 }

此代码用于计算向量中的反转次数,当我尝试编译它时,Scala IDE for Eclipse 给了我以下错误illegal start of simple expressionval (left, right) ...

为什么会这样?

4

2 回答 2

0

它缺少最后一个右括号。通常,当代码不正确时,IDE 中会出现“陈旧”错误;如有疑问,最好只查看命令行编译(maven 或类似)中的第一个错误。

于 2014-10-26T19:49:10.623 回答
0

如果它适用于 REPL,这将是一个 IDE 错误。尝试带有 Scala 插件的 IDEA 社区。我发现它很好,但在理解一些复杂的结构时仍然存在一些问题。

于 2015-01-25T03:45:46.433 回答