64 lines
2.0 KiB
Markdown
64 lines
2.0 KiB
Markdown
|
## Ideen für Aufgaben:
|
||
|
|
||
|
- Schere Stein Papier in Groovy, ohne eine Klasse zu benutzen (zuhause)
|
||
|
- Gegebenen Java Code in Groovy umwandeln und dabei den Code so kurz wie möglich halten.
|
||
|
|
||
|
## Besonderheiten in Groovy:
|
||
|
|
||
|
- Gleiche Schlüsselwörter wie in Java, Schlüsselwörter können jedoch auch als Methoden- /Variablennamen verwendet werden
|
||
|
|
||
|
```
|
||
|
public class Hi {
|
||
|
public static void main (String [] args) {
|
||
|
new Hi().this()
|
||
|
}
|
||
|
|
||
|
def "this"() {
|
||
|
print "hello"
|
||
|
}
|
||
|
|
||
|
}
|
||
|
```
|
||
|
|
||
|
Man sollte dies aber vermeiden, da es nur für Verwirrung sorgt und in den meisten Fällen hat man nichts davon.
|
||
|
|
||
|
- Variablennamen dürfen nicht mit Zahlen beginnen, jedoch mit Underscores (\_), Dollarzeichen ($) oder Buchstaben.
|
||
|
- Triple Quoted Strings: Gehen über meherere Zeilen hinweg
|
||
|
|
||
|
```
|
||
|
def a = '''Dies
|
||
|
ist
|
||
|
Ein
|
||
|
riple Quoted String'''
|
||
|
|
||
|
print a
|
||
|
```
|
||
|
|
||
|
- Man kann in Strings Platzhalter verwenden und somit Variablenwerte dynamisch in die Strings einfügen (vgl. Ruby #{}). Strandardmäßig werden in Groovy Strings aus der Klasse _java.lang.String_ benutzt (also Java Strings). Benutzt man jedoch einen Platzhalter im Stringliteral, handelt es sich um einen GString aus der Klasse _groovy.lang.GString_
|
||
|
|
||
|
```
|
||
|
def welt = "World!"
|
||
|
def hallo = "Hello ${welt}"
|
||
|
print hallo // "Hello World!"
|
||
|
```
|
||
|
|
||
|
- Es ist auch erlaubt Berechnungen innerhalb des Platzhalters durchzuführen. Auch das wäre also ein gültiger Groovy Code:
|
||
|
|
||
|
```
|
||
|
def str = "2 + 3 ergibt: ${2+3}";
|
||
|
print str // "2 + 3 ergibt: 5
|
||
|
```
|
||
|
|
||
|
- Man darf sogar mehrere Statements innerhalb des Platzhalters verwenden, jedoch wird empfohlen dies zu vermeiden.
|
||
|
|
||
|
```
|
||
|
def str = "The sum of 1 and 2 is equal to ${def a = 1; def b = 2; a + b}"
|
||
|
print str // "The sum of 1 and 2 is equal to 3"
|
||
|
```
|
||
|
|
||
|
- Auch Attribute von Objekten dürfen in Kombination mit dem "$" Zeichen als Platzhalter verwendet werden. Angenommen wir haben ein Objekt einer Klasse A (a) mit einem Attribut _attr_ (Wert: 0)
|
||
|
|
||
|
```
|
||
|
print "Wert: $a.attr" // "Wert: 0"
|
||
|
```
|