以下是“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的最新版本。这是错误的原因吗?
答案 0 :(得分:17)
这应该是:
for (d <- Color.values) print(d + " ")
foreach
中曾经有一个Enumeration
方法,这就是为什么只做for (d <- Color)
工作的原因。但它已被弃用,然后被删除。
答案 1 :(得分:0)
foreach
课程中没有方法Enumeration
。如果要迭代值,则应使用方法values
。因此,for (d <- Color.values) print(d + " ")
会按预期打印Red Green
。
看一下Enumeration类文档http://www.scala-lang.org/api/current/index.html#scala.Enumeration