Dňa 21. augusta vyšla nová verzia jazyka Groovy 5.0, ktorá prináša množstvo nových funkcií a vylepšení. Groovy je dynamický jazyk pre platformu Java, ktorý umožňuje rýchly vývoj aplikácií s expresívnou syntaxou.
Groovy 5.0 prináša významné vylepšenia v oblasti výkonu, interoperability s Javou, nové funkcie, logický operátor implikácie, for loop s indexom, či lepšiu podporu pre webový obsah. Vylepšený bol tiež groovysh REPL.
Groovy je mimoriadne expresívny jazyk s veľkým množstvom funkcií, ktoré uľahčujú vývoj aplikácií. Táto najnovšia verzia jazyka dopĺňa ďalších 350 nových funkcií. (V súčasnosti ide o približne 2000 doplnkových funkcií pre JDK triedy.)
Nasledujúci kód demonštruje niektoré z nových funkcií jazyka Groovy 5.0:
int[] nums = [1, 2, 3, 4, 5]
println nums.head()
println nums.tail()
println nums.first()
println nums.last()
def res = (1..7).collect('💙'::next)
println res
List<String> words = ['small', 'rock', 'ship', 'dense']
for (int idx, String word in words) {
println "$idx: $word"
}
def gs = ['🅶'].repeat(5)
def hs = ['💚'].repeat(3)
println gs.interleave(hs).join()
println hs.interleave(gs, true).join()
def res2 = (1..10000).iterator()
.collecting(n -> 1..n) // [1..1, 1..2, 1..3, ...]
.collecting(r -> r.sum()) // [1, 3, 6, 10, ...]
.collate(2) // [[1, 3], [6, 10], ...]
.collecting{ a, b -> a * b } // [3, 60, 315, ...]
.findingAll{ it % 2 } // [3, 315, ...]
.take(3)
.toList()
println res2
int[][] matrix = [[1, 2],
[10, 20],
[100, 200]]
println matrix
println matrix.transpose()
println matrix.flatten()
Inštalácia jazyka je jednoduchá. Stiahneme si binárny balík zo stránky a rozbalíme ho. Nastavíme si premenné prostredia GROOVY_HOME, JAVA_HOME, a pridáme $GROOVY_HOME/bin do PATH. Potom spúšťame skripty s groovy app.groovy.