Java, najlepiej >=1.5. Na 1.4 będzie działać, ale bez niektórych opcji.
Instalacja - Linux
- Ubuntu: sudo apt-get install groovy
- OpenSuse >=10.2
Instalacja - Windows
Instalator Groovy 1.5.6 + Gant 1.3
Test
Po przeprowadzeniu instalacji pora przetestować GroovyConsole. W Windows powinna pojawić się pozycja w menu star. W obu systemach w linii komend powinno wystarczyć wpisanie groovyConsole, by włączyła się poniższa aplikacja. Wpisujemy w górną część print "Hello world" i klikamy zaznaczony przycisk:
GroovyConsole jest najprostszym edytorem Groovy, cały kod w edytorze / pliku jest wykonany, a rezultat zwracany.
W Windows kliknięcie na plik z rozszerzeniem .groovy powoduje ich wykonanie. Jak widać Groovy nie wymaga by kod był pisany w metodach.
Linia komend - groovyc
Kompilator, na razie nie będzie potrzebny.
Linia komend - groovy
Interpreter.
- groovy Hello.groovy - wykonuje kod z podanego pliku
- groovy -e " print 'Hello world' " - wykonuje bezpośrednio podany kod
Interaktywny interpreter.
Interaktywny interpreter to ciekawa pomoc w nauce dostępna w językach takich jak Groovy, Ruby czy Python. A działa to tak:
W interpreterze możemy na bierząco tworzyć zmienne (nawet bez ich deklaracji) i przypisywać im dowolne wartości. Po każdej komendzie lub zestawie komend interpreter wykonuje kod i zwraca wynik. Wynikiem jest zawsze wartość ostaniej komendy.
kk@kkl:~$ groovysh
Groovy Shell (, JVM: 10.0-b22)
Type 'help' or '\h' for help.
-------------------------------------------------------------------------------
groovy:> a = "123" [enter]
===> 123
groovy:> b = 4
===> 4
groovy:> c = 5.0
===> 5.0
groovy:> a+b+c
===> 12345.0
groovy:> "$c - ${b} = ${c-b}"
===> 5.0 - 4 = 1.0 //to jest String !
Dla komendy 1 będzie to 1, dla komendy a = 1 będzie to 1, dla komendy 1;2;3 będzie to 3 a dla komendy print 1 będzie to null (po drodze zostanie wypisane 1).
Linijka13 - GString
Jeżeli Groovy spotka w String napis postaci $nazwa_zmiennej to wstawi w jej miejsce wartość zmiennej. Jeżeli spotka ${kod} to wstawi w to miejsce wykonany kod.
Dalej Stringi można zapisywać w formie:
- "string" lub 'string' - zwykły String
- /C:\Windows\system / - String w którym nie trzeba używać \
- Stringi na kilka linijek:
String długi na
${a[1]} linijki
"""
Ten ma dokładnie 2 znaki nowej linii.
Kod w Stringach zauważa zmiany zmiennych:
groovy:> "abcdef".each{print " $it"}Zmienna it - domyślna zmienna dla funkcji iterujących - przyjmuje wartość kolejnych znaków i za każdym razem nowa wartość jest wstawiana do stringa.
a b c d e f===> abcdef
groovy:> "abcde"[2..4]Dla stringów zdefiniowano kilka ciekawych operatorów i funkcji.
===> cde
groovy:> "abcde"[2..-2]
===> cd
groovy:> "abcde"[3..0]
===> dcba
groovy:> "abcde".size()
===> 5
groovy:> "abcde".length()
===> 5
groovy:> "abcde" == "ab" + "c" + "de"
===> true
groovy:> "abcdeabcde" - "abc"
===> deabcde
Operator == porównuje względem wartości, a nie referencji jak w Java.
Groovy dekoruje istniejące klasy Java (jak string, tablice, kolekcje) dzięki czemu można wszędzie używać jednej metody size() zamiast raz size, a raz length.
Stringi można też odejmować - zostaje usunięte pierwsze wystąpienie odejmowanego napisu.
Dodatkowe informacje o String w Groovy.
1 komentarz:
Ach ten size() - to dlatego wczoraj mi "poszło" "ciąg znaków".size(), kiedy to w Javie nie ma size(). Przez moment myślałem, jak to zadziałało, ale później machnąłem ręką myśląc sobie, że to jakieś voodoo w Groovy'm. Teraz już mam odpowiedź.
Prześlij komentarz