我创建了一个Enumeration
,如下所示:
scala> object J extends Enumeration {
| type J = Value
| val Fail, Success = Value
| }
defined object J
问题1 - 我尝试创建其类型的变量但出现以下错误。为什么呢?
scala> val j:J
<console>:11: error: not found: type J
val j:J
^
<console>:11: error: only classes can have declared but undefined members
val j:J
^
问题2 - 我可以创建如下变量。我认为Fail
的值实际上是0
。我怎么打印0
?
scala> val j = J.Fail
j: J.Value = Fail
scala> println(j)
Fail
答案 0 :(得分:0)
您使用错误的语法分配类型变量,您应该这样做:
val j = J
j: J.type = J
关于值,Fail和Sucess除了自己的名字之外没有任何价值,如果你想为它们分配一个值,你应该使用这个语法:
object J extends Enumeration {
type J = Value
val Fail = Value(0)
val Success = Value(1)
}
然后您可以使用id
属性
scala> j.id
res: Int = 0
scala> j
res: J.Value = Fail