我正在讲课,讲师正在使用Eclipse,但我正在使用IntelliJ IDEA Community Edition 15.0.6,而名为rationals.scala的Scala工作表上的代码如下所示
object rationals{
val x = new Rational(1,2)
x.numer
x.denom
}
//noinspection ScalaPackageName
class Rational(x: Int, y: Int) {
def numer = x
def denom = y
}
Scala工作表工作表将无法计算,并且存在与读取类定义相关联的警告(而非错误)
包名称与目录结构不对应,这可能 导致解决此文件中的类的问题
此外,这很奇怪,但可能很重要,IDEA标志着数字和牛仔作为拼写错误。
任何指导? THX
答案 0 :(得分:3)
问题不在于名称匹配目录结构,实际问题是您在工作表中有多个不喜欢的定义。如果您在class
内声明object
,那么它将正确计算:
object rationals {
class Rational(x: Int, y: Int) {
def numer = x
def denom = y
}
val x = new Rational(1,2)
x.numer
x.denom
}
答案 1 :(得分:3)
@Yuval Itzchakov @MaxWen
如果您在工作表外引用Rational.scala
,则必须确保在首次运行时勾选“制作项目”框。
Eclipse和IntelliJ工作表不一样。 -