Я разработал класс, который имеет некоторые методы, которые увеличивают Integer, это в основном позволяет мне это сделать:Groovy EXPANDO метаклассом
def total = 100.dollars + 50.euros
Теперь я должен делать Integer.metaClass простираются что-то вроде этого:
Integer.metaClass.getDollars = {->
Money.Dollar(delegate)
}
Я попытался поместить это в нижней части файла перед объявлением класса Money, но компилятор говорит, что класс Named Money уже существует, я знаю, почему это происходит (потому что groovy создает класс с именем файла с пустым статическим void main для запуска этого кода).
Я также попытался использовать статический блок внутри класса, как это:
static {
Integer.metaClass.getDollars = {->
Money.Dollar(delegate)
}
}
этом ни работает.
Третьим решением было бы изменить имя файла (например, MoneyClass.groovy) и сохранить имя класса (класс Money), но это кажется немного странным.
Есть ли что-нибудь еще, что я могу сделать? Благодарю.
Dang! Мне нужно научиться Groovy. – bgw