11

以下は本 Programming in Scala の例です

object Color extends Enumeration {
    //val Red, Green, Blue = Value
    val Red = Value("Red")
    val Green = Value("Green")
}

for (d <- Color) print(d + " ") //Error value foreach is not a member of
                                // object xxx.Color

私はScalaの最新バージョンを持っています。エラーの理由ですか?

4

2 に答える 2

20

これは次のようになります。

for (d <- Color.values) print(d + " ")

以前は にforeachメソッドがEnumerationあったため、実行するだけでfor (d <- Color)うまくいきました。しかし、それは廃止され、その後削除されました。

于 2013-06-11T12:57:38.563 に答える
1

クラスにメソッドはありませんforeachEnumeration値を反復処理する場合は、 method を使用する必要がありますvalues。したがって、期待どおりfor (d <- Color.values) print(d + " ")に印刷されます。Red GreenEnumeration クラスのドキュメントhttp://www.scala-lang.org/api/current/index.html#scala.Enumerationを見てください。

于 2013-06-11T13:21:09.423 に答える