我应该如何或向谁报告对scala.collection.mutable._类中的错误的怀疑?

时间:2014-02-27 18:00:05

标签: scala

我应该通过哪些渠道报告Scala中的错误?

根据另一个问题,我看起来像可变集合ListBufferLinkedLis中的错误。以下所有文件都在一个文件中:

object MyObject {

   def myFunc() = {
       var mutable = scala.collection.mutable.ListBuffer[Moo]
       mutable += new Moo()   // <--- GIVES ERROR AS DESCRIBED BELOW
   }
}

class Moo() {
  val hi:String = "Hello"
}

错误:Type mismatch, expected String, actual Moo

我是昏暗的,还是这实际上是一个错误?

感谢。

2 个答案:

答案 0 :(得分:4)

将您的mutable声明替换为:

var mutable = scala.collection.mutable.ListBuffer[Moo]()

如果您尝试输入原始行(例如在控制台中),您将看到以下内容:

scala> var mutable = scala.collection.mutable.ListBuffer[Moo]
<console>:8: error: missing arguments for method apply in class GenericCompanion;
follow this method with `_' if you want to treat it as a partially applied function
   var mutable = scala.collection.mutable.ListBuffer[Moo]

这意味着你的原始声明(没有parens)不是实例化容器的有效方式:在引擎盖下,它将被解释为一个不完整的函数调用。 (这有点令人困惑,考虑到在Scala中可以在许多其他情况下省略parens)。

答案 1 :(得分:1)

这就是为什么人们不喜欢+将“字符串连接”视为附加组件。

由于没有人询问原始错误消息,我猜你真的有:

var mutable = scala.collection.mutable.ListBuffer
mutable += new Moo()

确实会产生错误。

scala> object X
defined object X

scala> var x = X
x: X.type = X$@2bad298f

scala> x += 1
<console>:10: error: type mismatch;
 found   : Int(1)
 required: String
              x += 1
                   ^

或者,您可能没有尝试编译您发布的代码?

要回答你的问题,SO是提出这类问题的好地方。