我在enum
中有以下MyEnum.scala
:
object MyEnum extends Enumeration {
val A, B, C, D, E = Value
}
在另一个对象中,我试图为变量分配一个枚举:
object SomeOtherObject {
def main(args: Array[String]): Unit = {
val myValue = MyEnum.A
}
}
然而,我得到了:
error: not found: value MyEnum
这两个对象都在默认包中定义。
知道造成这种情况的原因是什么?
答案 0 :(得分:1)
如果我在同一个scala文件中定义所有内容,一切正常
$ cat x.scala
object MyEnum extends Enumeration {
val A, B, C, D, E = Value
}
object SomeOtherObject {
def main(args: Array[String]): Unit = {
val myValue = MyEnum.A
}
}
$ scalac x.scala
# no output but produces the .class files
如果要定义2个不同的文件,请尝试将包添加到文件中,并可能导入。
我还尝试在y.scala
文件中定义枚举,并在z.scala
文件中定义主要内容。它还编译:
$ scalac y.scala z.scala