Groovy: делегировать собственность в enum - PullRequest
1 голос
/ 02 апреля 2012

У меня есть следующий код в Groovy 1.8.5, и для меня он выглядит действительным.Почему это дает ошибку?

public enum Test
{
    ONE("meep"), TWO("jeep"), THREE("sheep");

    Test(String n)
    {
        this.n = n;
    }

    @Delegate String n;
}

println Test.ONE[1]
println Test.TWO[0] 

Редактировать 1: У меня есть несколько перечисляемых объектов, поэтому я хочу поместить их в перечисление.Каждое значение перечисления представляет экземпляр этих объектов, так почему бы не хранить их там?Теперь groovy позволяет мне делать, скажем, Test.One.digits вместо Test.One.n.digits, что более удобно.

Когда я пытаюсь запустить его в затмении, я получаю Exception in thread "main" java.lang.NoClassDefFoundError, который я интерпретирую как класс, который не компилируется должным образом,В то время у меня нет сообщения компилятора ... Я работаю над ним.

Редактировать 2:

У меня есть скрипт для работы здесьхотя ... http://gppconsole.appspot.com/script/34001 Так что я думаю, дело закрыто и проблема не в коде.

1 Ответ

1 голос
/ 02 апреля 2012

Какую ошибку вы получаете?

public enum Test
{
    ONE(1), TWO(2), THREE(3);

    Test(Integer n)
    {
        this.n = n;
    }

    @Delegate Integer n;
}

println Test.ONE.n

работает в Groovy 1.8.6 ... Хотя я не уверен, что добавление @Delegate в перечисление - это хорошая вещь (мне нужно подумать об этом больше) ...

Чего вы пытаетесь достичь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...