Scala学习笔记--枚举

枚举

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
原文地址:https://www.cnblogs.com/gnivor/p/4191017.html