在Scala枚举中,如何解释';val红色、绿色、蓝色=值';?
描述枚举的定义方式如下所示:在Scala枚举中,如何解释';val红色、绿色、蓝色=值';?,scala,enumeration,Scala,Enumeration,描述枚举的定义方式如下所示: object Color extends Enumeration{ type Color = Value val RED, GREEN, BLUE = Value } 我不明白的是最后一行的结构。它似乎创建了一组值,并赋予它们相同的值?但是值是一种类型,所以它是如何工作的。是的,这很不幸。如果您查阅,您将看到值既是一种类型(抽象类在第184行),也是一种重载方法(第128-154行) 调用Value方法(不带参数)实际上变成了对新Val(i,name)的调
object Color extends Enumeration{
type Color = Value
val RED, GREEN, BLUE = Value
}
我不明白的是最后一行的结构。它似乎创建了一组值,并赋予它们相同的值?但是值是一种类型,所以它是如何工作的。是的,这很不幸。如果您查阅,您将看到
值
既是一种类型(抽象类
在第184行),也是一种重载方法(第128-154行)
调用Value
方法(不带参数)实际上变成了对新Val(i,name)
的调用,因此您的每种颜色都被分配了一个“新”值,即不同的值
Scala枚举经历了一些变化,在即将发布的版本中可能会发生变化