Difference between revisions of "Groovy"
(→Closures) |
(→Hello Worlds) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
== Hello Worlds == | == Hello Worlds == | ||
print "Hello World" | print "Hello World" | ||
+ | |||
+ | Marken in Strings: | ||
+ | x = "Claude" | ||
+ | print "Hallo ${x}" | ||
+ | |||
+ | Arrays: | ||
+ | x = [1,2,3,4] | ||
+ | print x[3] | ||
+ | x[10] = 3 | ||
+ | |||
+ | Maps: | ||
+ | x = [vorname:"hugo", nachname:"boss"] | ||
+ | print x.vorname | ||
== Closures == | == Closures == | ||
Line 14: | Line 27: | ||
myprint("hugo","boss") | myprint("hugo","boss") | ||
− | == Classes == | + | == Classes == |
+ | Einfaches Sample: | ||
+ | public class Cat { | ||
+ | private int age = 3; | ||
+ | |||
+ | def void printAge(){ | ||
+ | println age; | ||
+ | } | ||
+ | } | ||
+ | Cat myCat = new Cat() | ||
+ | myCat.printAge() | ||
+ | |||
+ | |||
+ | == Interfaces == | ||
+ | Implementation eines einfachen Interfaces: | ||
+ | x = {print "hello"} as Runnable | ||
+ | x.run() | ||
+ | |||
+ | Definition und Implementation eines Interfaces mit mehreren Methoden: | ||
+ | interface X { void f1(); void f2(int n) } | ||
+ | |||
+ | x = {Object[] args -> println "method called with $args"} as X | ||
+ | x.f1() | ||
+ | x.f2(1) | ||
+ | |||
+ | Der Output ist: <br> | ||
+ | method called with null <br> | ||
+ | method called with {1} | ||
+ | |||
+ | Interfaceimplementation als Map: | ||
+ | interface X { void f1(); void f2(int n) } | ||
+ | impl = [ | ||
+ | f1: {println "f1 called"}, | ||
+ | f2: { n -> println "f2 called. n:" + n} | ||
+ | ] | ||
+ | implInst = impl as X | ||
+ | implInst.f1() | ||
+ | implInst.f2(5) |
Latest revision as of 11:35, 18 June 2008
Um die Groovy Konsole zu starten, klicke hier: Groovy Konsole.
Contents
Hello Worlds
print "Hello World"
Marken in Strings:
x = "Claude" print "Hallo ${x}"
Arrays:
x = [1,2,3,4] print x[3] x[10] = 3
Maps:
x = [vorname:"hugo", nachname:"boss"] print x.vorname
Closures
Simple Klammer. it ist defaultmässig der Parameter.
myclosure = {it + it} myclosure(4)
Klammer mit zwei Paremetern:
myprint = {first, last -> print "[" + first + ", " + last + "]"} myprint("hugo","boss")
Classes
Einfaches Sample:
public class Cat { private int age = 3; def void printAge(){ println age; } } Cat myCat = new Cat() myCat.printAge()
Interfaces
Implementation eines einfachen Interfaces:
x = {print "hello"} as Runnable x.run()
Definition und Implementation eines Interfaces mit mehreren Methoden:
interface X { void f1(); void f2(int n) }
x = {Object[] args -> println "method called with $args"} as X x.f1() x.f2(1)
Der Output ist:
method called with null
method called with {1}
Interfaceimplementation als Map:
interface X { void f1(); void f2(int n) } impl = [ f1: {println "f1 called"}, f2: { n -> println "f2 called. n:" + n} ] implInst = impl as X implInst.f1() implInst.f2(5)