11

这是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 Green查看枚举类文档http://www.scala-lang.org/api/current/index.html#scala.Enumeration

于 2013-06-11T13:21:09.423 回答