特定のオブジェクトが列挙型の値であることを識別する方法はありますか?スカラの列挙型
x.isInstanceOf[Enumeration.$Value]
が動作していないように見えますが、私がパス依存型について理解しているものではありません。
Enumerationの値を指定してidを返す関数を記述したいと思います。また、EnumerationをIntに変換する暗黙的な方法も優れています。
特定のオブジェクトが列挙型の値であることを識別する方法はありますか?スカラの列挙型
x.isInstanceOf[Enumeration.$Value]
が動作していないように見えますが、私がパス依存型について理解しているものではありません。
Enumerationの値を指定してidを返す関数を記述したいと思います。また、EnumerationをIntに変換する暗黙的な方法も優れています。
x.isInstanceOf[Enumeration#Value]
が私に役立ちます。 specification, Section 3.2.2 "Type Projection"より。
クラス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
コードを説明する必要があります。「低品質の投稿」としてランク付けされています。 – davidkonrad
どのように指定しますか? – Ruslan