输入Scala Enumeration

pro*_*eek 1 types enumeration scala

枚举Scala文档中,我有这个例子.

object WeekDay extends Enumeration {
    type WeekDay = Value
    val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value
}
Run Code Online (Sandbox Code Playgroud)

然而,似乎它没有正常工作type WeekDay = Value.这是为了什么?什么时候可以跳过这个?

End*_*Neu 6

这一行:

type WeekDay = Value
Run Code Online (Sandbox Code Playgroud)

它只是一个类型别名,你不需要它但是它很有用,请考虑这个:

object SomeObject {
  import WeekDay._

  val someDay: WeekDay = Fri
}
Run Code Online (Sandbox Code Playgroud)

导入对象后,您可以声明类型的变量WeekDay,如果您没有类型别名,则将定义变量:

object SomeObject {
  val someDay: WeekDay.Value = WeekDay.Mon
}
Run Code Online (Sandbox Code Playgroud)

它在处理枚举值时简单地允许一些简洁.