【发布时间】:2017-01-22 01:57:55
【问题描述】:
这个非常简单的工作表内容说明了问题:
object Test {
println("This does not print!")
add(5, 6)
}
println("This however prints!")
add(5, 6)
def add(a: Int, b: Int): Int = a + b
上述工作表内容的结果是:
defined module Test
This however prints!
res0: Unit = ()
res1: Int = 11
add: add[](val a: Int,val b: Int) => Int
基于JetBrains official website Scala Worksheets example 和我发现的所有其他可靠资源(如Martin Odresky's own examples in Functional Programming in Scala course),我希望object Test 的内容能够执行。我的软件是:
- OS X El Capitan
- IntelliJ IDEA 2016.2
- SBT 插件 1.8.0
- SBT 版本 0.13.12
- Scala 插件 2016.2.1
- Scala 版本 2.11.8
【问题讨论】:
-
I would expect the contents of object Test to execute我不希望它执行。工作表是花哨的repl。我从没想过 repl 会这样做 -
好吧,我找到的所有示例(包括 JetBrains 网站本身的页面)都显示工作表完全可以这样工作。我已将其添加到我的答案中。
-
显然 IntelliJ 和视频之间的不同行为是由于视频中在 Eclipse 中运行的代码(请参阅 Coursera 论坛中有关此问题的问题:工作人员建议在单例之外运行代码scala 工作表中的对象)。
标签: scala intellij-idea