Time
is money!



Прелести Groovy.2
Крылов Е.
Еще раз 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 для генерации текстов
типовых программ. Безусловно, это полезно, хотя в языке есть другие возможности
для этого. Но это мы рассмотрим позднее.