IntelliJ中Scala工作表的编译问题

时间:2014-03-07 11:27:40

标签: scala intellij-idea

我有一个包含

的工作表
object test {

  val tableTest = new Array[String](1)
  tableTest.length

}

返回

tableTest: Array[String] = [Ljava.lang.String;@628c5fdf
res0: Int = 1

似乎没问题。

但是,当我输入此工作表时:

object test {

  val tableTest = new Array[String](1)
  tableTest(0) = "zero"

}

IntelliJ无法编译并返回Unable to read an event from: rO0ABXNyADdvcmcuamV0YnJhaW5zLmpwcy5pbmNyZW1lbnRhbC...错误。

我做错了吗?

1 个答案:

答案 0 :(得分:1)

我对最新的Idea和Scala插件存在同样的问题 似乎工作表在执行任何评估为Unit的行时出现问题。分配是单位,这就是tableTest(0) = "zero"失败的原因。

我通过以下解决方法暂时解决了这个问题:

此行将失败,错误为Error:Unable to read an event from:...

println("Will fail")

您可以通过定义此帮助程序方法并将其用于任何单位表达式来修复它:

def unit(f: => Unit): String = {f; ""}
unit(println("Will work"))

您只需忽略它在res0: String =输出面板中生成的行 您还可以将此方法放在某个对象中,并导入到您需要的任何WS中。

加斯。
@ktonga