第十章 Scala 容器基礎(二十六):建立並使用Enumerations

Problem

    你準備使用一個枚舉類(一組被命名的值做爲常量)在你的應用裏。
app

Solution

    繼承scala.Enumeration來建立你的枚舉類:spa

package com.acme.app {
  object Margin extends Enumeration {
    type Margin = Value
    val TOP, BOTTOM, LEFT, RIGHT = Value
  }
}

object Main {
  def main(args: Array[String]) {
    import com.acme.app.Margin._

    val currentMargin = TOP

    if (currentMargin == TOP) println("working on TOP")

    import com.acme.app.Margin

    Margin.values.foreach(println)
  }
}

    對於建立一組常量,Enumerations是很是有用的,好比一週中的天,一年中的周。還有許多其餘的狀況,當你用到一組相關常量的時候。scala

    你也能夠用下面這種方案,可是他回根據你的代碼去生成4次,而且若是你只是想把它做爲枚舉來用的話,有許多東西是你用不到的:code

package com.acme.app {
  trait Margin
  case object TOP extends Margin
  case object RIGHT extends Margin
  case object BOTTOM extends Margin
  case object LEFT extends Margin
}
相關文章
相關標籤/搜索