我有一个简单的类calc,它对输入进行正方形和立方体化:
object calc2 {
def square(nmr: Int) = {
calc.square(nmr)
}
def cube(nmr: Int) = {
calc.cube(nmr)
}
def square(nmr: Double) = {
calc.square(nmr)
}
def cube(nmr: Double) = {
calc.cube(nmr)
}
}
我在Eclipse中使用Scala工作表调用此对象:
object test {
calc2.square(3) //> res0: <error> = 9.0
calc2.cube(3) //> res1: <error> = 27.0
calc2.square(3.0) //> res2: <error> = 9.0
calc2.cube(3.0) //> res3: <error> = 27.0
}
但是我在编辑器中为每一行说错了
value square不是object exercise2.calc2的成员
如您所见,工作表似乎在进行计算。那我为什么会收到这个错误呢?
以下解决方案适用于IntelliJ IDEA中的相同问题,但我认为在Eclipse中也可以设置类似的东西。
工作表无法识别您完全存在的成员的原因是因为它们是在最后一次编译后编写(或重写)的。您可以强制工作表在运行之前生成项目,从而使代码的所有新编写或修改的部分对底层REPL可见。归功于this comment poster。在IntelliJ IDEA中,您可以将其设置如下,单击工作表标题上的扳手图标: