Крылов Е.
Еще раз HelloWorld.
Типы Strings и GStrings имеющиеся в Groovy позволяют быстро создать простенький макропроцессор, который может быть полезен, когда приходится делать программы, различающиеся лишь некоторыми параметрами (по научному это называется рефакторинг).
Напишем скрипт:
import java.io.
*;
name = "HelloWorld"
name1 = ".java"
namefile = name+name1
file = new File(namefile)
textinfile = """
public class $name {
public static void main (String args[]){
System.out.println("$name");
}
}
"""
file.write(textinfile)
println textinfile
сохраним его, например, с именем macrosJava.groovy и запустим в командной строке. С радостью убедимся, что в директории, где мы инсталлировали Groovy, появился желанный HelloWorld.java с нужным тесктом.
Заменяя строку name на любую другую, получим правильный файл java, который тотчас можно отправить на компиляцию.
В этом нам помогла конструкция GStrings, позволяющая в строку вставлять переменную, значение которой мы можем изменить в другом месте скрипта (в нашем случае это выглядит как $name).
Не менее полезной оказывается и возможность использовать форматированный текст.
Это наводит на мысли о возможности использовать Groovy для генерации текстов типовых программ. Безусловно, это полезно, хотя в языке есть другие возможности для этого. Но это мы рассмотрим позднее.