2011-07-09 24 views
11

特定のオブジェクトが列挙型の値であることを識別する方法はありますか?スカラの列挙型

x.isInstanceOf[Enumeration.$Value]が動作していないように見えますが、私がパス依存型について理解しているものではありません。

Enumerationの値を指定して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

コードを説明する必要があります。「低品質の投稿」としてランク付けされています。 – davidkonrad

+0

どのように指定しますか? – Ruslan