1

enumScalaで実装する方法の例を見つけました。これが私が持っているものです:

   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
}

どうしたの?

4

2 に答える 2

1

import ステートメントでこのわずかな変更を試してください。

package org.myproject.subnamespace

import org.myproject.MyEnum._

abstract class MyClass {
  def myEnum123: MyEnum
}

以下のリンクをチェックして、そのような列挙をインポートする必要がある理由をよりよく理解できます。

scala 列挙を理解する

于 2013-06-14T12:53:00.433 に答える
0

オブジェクト宣言は型宣言を誘導しないため、エラー メッセージが表示されます。あなたはおそらく宣言したい

def myEnum123: MyEnum.MyEnum

簡単なチュートリアルについては、http://daily-scala.blogspot.ch/2009/08/enumerations.htmlを参照してください。

于 2013-06-14T12:56:20.423 に答える