#groovy
#groovy
Вопрос:
Я пишу несколько скриптов на groovy. И мне нужно какое-то повторное использование кода в моих скриптах. Как я могу это сделать?
- Я могу поместить этот код в класс. Но вряд ли это для поддержки решения — часть кода находится в интерпретируемом скрипте, а другая — в скомпилированном классе
- Я могу использовать «оценивать», но мне нужно повторное использование функции, которая имеет возвращаемое значение. Я попытался «оценить» определения функций, и, похоже, это не работает.
Можете ли вы порекомендовать какой-либо подход к «включению» определений функций в скрипт?
Спасибо!
Ответ №1:
Нет необходимости компилировать groovy script, вы можете просто включить скрипт, определенный как класс.
Возьмите файл SomeClass.groovy
class SomeClass {
def add(a,b){
return a b
}
}
и скрипт someScript.groovy
println(new SomeClass().add(1,1))
Это будет работать до тех пор, пока SomeClass.groovy находится в пути к КЛАССУ.
ПРАВКИ
class SomeClass {
def static add(a,b){
return a b
}
}
Вызов как:
println(SomeClass.add(1,1))
Комментарии:
1. Отлично, спасибо! Могу ли я таким образом также вызывать функции вне класса?
2. @Pavel, если вы объявите метод add как статический, вы можете вызвать его без new. Это, вероятно, настолько близко, насколько вы можете получить. Смотрите правки.
3. Конечно, вы могли бы использовать класс в качестве дополнения. groovy.codehaus.org/Runtime mixins