我正在将以下C ++代码转换为Scala:
enum Value{ a = 0 , b = 0 , c = 12 , d = 13}
我已按以下方式实施:
object Value extends Enumeration {
val a = Value(0)
val b = Value(0)
val c = Value(12)
val d = Value(13)
}
但是在我调用Value(0).id
报告
java.lang.AssertionError:断言失败:重复ID:0
如何指定重复值?
答案 0 :(得分:2)
你可以这样做:
object Value extends Enumeration {
val a = Value(0)
val b = a
val c = Value(12)
val d = Value(13)
}
答案 1 :(得分:0)
问题在于,如果您愿意,可以执行以下两个值0的定义:
object EnumValue extends Enumeration {
type EnumValue = Value
val a = Value(0)
val b = a
val c = Value(12)
val d = Value(13)
}
println(EnumValue.a.toString)