2011-07-09 263 views
11

有沒有一種方法來識別給定的對象是一個枚舉值?斯卡拉枚舉爲int

x.isInstanceOf[Enumeration.$Value]似乎並沒有工作,從我的理解路徑依賴的類型,不應該。

我想編寫一個給定的任何枚舉值的函數,返回其ID。或者,將Enumeration轉換爲Int的隱式也會很好。

回答

2

類scala.Enumeration.Value有一個成員字段「ID」,其是內部整數值。如果沒有特別說明,則從0開始。

scala> object Weekday extends Enumeration {   
    | val Mon, Tue, Wedn, Thur, Fri, Sat, Sun = Value 
    | } 
defined module Weekday 

scala> Weekday.Mon.id 
res5: Int = 0 
+0

您應該解釋您的代碼 - 它被列爲「低質量帖子」的risc。 – davidkonrad

+0

你如何指定它? – Ruslan