无法创建枚举的变量
Unable to create a variable of an Enumeration
我创建了一个 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
您使用错误的语法来分配类型变量,您应该这样做:
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
我创建了一个 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
您使用错误的语法来分配类型变量,您应该这样做:
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