Groovy ma aj regularne vyrazy, tak ma napadlo, ze by sa dal vyuzit na spracovanie textu. Ale zistil som, ze regexp v Groovy funguju inac ako v Perle.
Napr, dany je subor "pokus.txt":
--------------
a
b c
2 xy
3
t 66
bcedqkq
--------------
a tu ej skript v groovy, ktory ma vypisat riadky, ktore obsahuju cislo:
--------------
// closure na spracovanie riadku
def spracujRiadok_clos ={line ->
if (line ==~ /[1-9]/) {
print "$line\n"
}
}
// main
def myfile = new File("pokus.txt")
myfile.eachLine { riadok -> spracujRiadok_clos(riadok) }
--------------
ked ho spustim, dostanem len:
3
Naproti tomu, ked si spustim obdobny skript v Perle, kde mam tiez
$line =~ /[1-9]/
dostanem to co som ocakaval:
2 xy
3
t 66
v groovy som teda pouzil
line ==~ /[1-9]/
a v Perle
$line =~ /[1-9]/
Ja si myslim, ze je to to iste, ale kupodivu neni:-)