我找到了一个如何在Scala中实现enum
的示例,这就是我所拥有的:
package org.myproject
object MyEnum extends Enumeration {
type MyEnum = Value
val val1, val2, val3 = Value
}
但是,我有一个错误type MyEnum is not a member of package org.myproject
:
package org.myproject.subnamespace
import org.myproject.MyEnum
abstract class MyClass {
def myEnum123: MyEnum
}
请注意,它们位于略有不同的包中。
更新:有2个错误,实际上,这取决于我如何定义def
:
package org.myproject.subnamespace
import org.myproject.MyEnum
abstract class MyClass {
def myEnum123: MyEnum // not found: type MyEnum
def myEnum123: org.myproject.MyEnum // type MyEnum is not a member of package org.myproject
}
怎么了?
答案 0 :(得分:1)
在import语句中尝试稍微更改:
package org.myproject.subnamespace
import org.myproject.MyEnum._
abstract class MyClass {
def myEnum123: MyEnum
}
您可以查看以下链接,以便更好地了解为什么必须导入这样的枚举:
答案 1 :(得分:0)
对象声明不会引发类型声明,因此会出现错误消息。你可能想声明
def myEnum123: MyEnum.MyEnum
有关小型教程,请参阅http://daily-scala.blogspot.ch/2009/08/enumerations.html。