2013-06-11 14 views
8

Hier ist ein Beispiel aus dem Buch Programming in ScalaKann nicht iterieren Enumeration

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 

I neueste Version von Scala haben. Ist es der Grund für einen Fehler?

Antwort

17

sollte sein:

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

Es gibt eine foreach Methode in Enumeration, werden verwendet, weshalb arbeitete gerade dabei for (d <- Color). Aber es wurde veraltet und dann entfernt.

0

Es gibt keine Methode foreach in Enumeration Klasse. Wenn Sie über Werte iterieren möchten, sollten Sie die Methode values verwenden. So wird for (d <- Color.values) print(d + " ")Red Green drucken, wie Sie erwarten. Werfen Sie einen Blick auf die Dokumentation zur Enumerationsklasse http://www.scala-lang.org/api/current/index.html#scala.Enumeration