【问题标题】:Compilation issue of a Scala worksheet in IntelliJIntelliJ 中 Scala 工作表的编译问题
【发布时间】:2014-03-07 11:27:40
【问题描述】:

我有一个包含

的工作表
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... 错误。

我是不是做错了什么?

【问题讨论】:

  • 我在 IntelliJ build IC-135.475 中遇到了类似的问题。
  • 这里也一样,虽然我的工作表昨天工作正常,没有任何改变。有一张为此youtrack.jetbrains.com/issue/SCL-6899打开的票。

标签: scala intellij-idea


【解决方案1】:

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

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

此行将失败并出现错误Error:Unable to read an event from:...

println("Will fail")

您可以通过定义此辅助方法并将其用于任何 Unit 表达式来修复它:

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

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

加斯顿。
@ktonga

【讨论】:

    猜你喜欢
    • 2020-04-11
    • 2019-03-25
    • 1970-01-01
    • 1970-01-01
    • 2011-11-12
    • 1970-01-01
    • 2015-01-12
    • 1970-01-01
    • 2023-02-20
    相关资源
    最近更新 更多