枚举
scala不用关注枚举的特别语法,取而代之的是标准库中的类,
scala.Enumeration
想要创建新的枚举,只需要拓展这个类的对象即可
object Color extends Enumeration{
val Red = Value
val Green = Value
val Blue = Value
}

object Test3{
def main(args:Array[String]):Unit={
for (dir <- 0 to Direction2.maxId-1){
print(Direction2(dir) + " ");
println(Direction2(dir).id) //枚举值从0开始计数,可以用枚举值id方法获得它的计数值:
}
}
}
//scala不用关注枚举的特别语法,取而代之的是标准库中的类,scala.Enumeration。
//想要创建新的枚举,只需拓展这个类的对象即可
object Direction extends Enumeration{
val North ,East, South, West = Value
}
//这些值的类型是“路径依赖类型” Color.Value 与 Direction.Value的类型不同,
object Direction2 extends Enumeration{
val North = Value("North")
val East = Value("East")
val South = Value("South")
val West = Value("West")
}
//枚举值从0开始计数,可以用枚举值id方法获得它的计数值:
结果
North 0 East 1 South 2 West 3