Názor k článku Groovy v příkladech: objektově orientované programování od MikRom - Groovy ma aj regularne vyrazy, tak ma napadlo,...

  • Článek je starý, nové názory již nelze přidávat.
  • 11. 1. 2008 14:47

    MikRom (neregistrovaný)
    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:-)