Difference between revisions of "Groovy"
(→Interfaces) |
(→Hello Worlds) |
||
Line 4: | Line 4: | ||
== Hello Worlds == | == Hello Worlds == | ||
print "Hello World" | print "Hello World" | ||
+ | |||
+ | Marken in Strings: | ||
+ | x = "Claude" | ||
+ | print "Hallo ${x}" | ||
+ | |||
+ | Maps: | ||
+ | x = [vorname:"hugo", nachname:"boss"] | ||
+ | print x.vorname | ||
== Closures == | == Closures == |
Revision as of 11:26, 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}"
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
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)