groovy - Groovy 中的 enum 中的 enum 永远循环,为什么?

标签 groovy enums

假设以下代码:

enum Color {
    RED,
    GREEN,
    BLUE
    enum Type {
        RGBA,
        RGB,
        BGR
    }
    String getHex() {
        //something here
        return "#F00"
    }
    Type getType() {
        //something here
        return Type.RGB
    }
}
println Color.RED.type.name()

我以为嵌套enum是可能的,但是如果您尝试使用 groovy(使用 2.4.13)运行这段代码,它似乎永远循环并且永远不会执行或编译它。

如果我使用枚举 Type在外面,它工作正常。

为什么会这样?是否有任何引用资料可以解释它失败的原因?

最佳答案

这是一个已知的错误

https://issues.apache.org/jira/plugins/servlet/mobile#issue/GROOVY-4438

如果您使用在 Groovy 2.6+ 中是可选的并在 Groovy 3 中默认启用的新的“parrot”解析器,它是固定的

关于groovy - Groovy 中的 enum 中的 enum 永远循环,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48679495/

相关文章:

grails - 在Grails 3.1.1中定义一个枚举

groovy - 无法启动 Groovy 控制台 - 缺少依赖项 javax/xml/bind/Unmarshaller

Jenkins 管道: can't pass build parameters to shared library vars

c# - 如何过滤枚举并在下拉列表中使用它

c# - 通过 ValueMember 为类的枚举属性选择 ComboBox

c# - 如何创建枚举标志的动态列表,然后传递给另一个方法

swift - 我可以将案例枚举比较用作 bool 表达式吗?

gradle - 在Gradle中动态添加依赖项?

Gradle 任务语法 : how is it explained from a Groovy perspective?

java - Jmeter:groovy 脚本中 jmeter 对象的包装器