Erstellt von Alex Poiry
vor mehr als 6 Jahre
|
||
High Level Groovy Concepts TODO Basic Syntax System.out.println("Hello Groovy") ; is the same as, println("Hello Groovy"); is the same as, println("Hello Groovy") is the same as, println "Hello Groovy" Groovy will let you write Java-like syntax, but really only needs basic ruby-like syntax. def : used to define variables String Interpolation is done like this: def greeting = "Hello, " println "$greeting" + "Groovy" Adding the { } characters tell string interpolation to apply to a whole expression or variable, like this: def greeting = "Hello, " def who = ["Groovy", "World"] println "$greeting" + "${who[0]}" Idiomatic Groovy uses double quotes for string interpolation only, otherwise use a single quote. Looping def greeting = "Hello, " def who = ["Groovy", "World"] for (name in who) { println "$greeting" + "$name" } Ranges def numbers = 1..10 : This creates a collection, it also works with things like letters and enums println numbers.from : This equals 1 println numbers.to : This equals 10 Functions def camelCaseName(val) { "Sweet" } Note that the last line in the method is returned by default. You can explicitly call return if you need multiple return points. Closures def myClosure = { println "A closure" } The each method can accept a closure Each has an implicit reference to the current item in the iteration, which is 'it', like this: def who = ["Groovy", "World"] who.each({ println it }) This will print Groovy, then World If you have multiple iterators you can explicitly define the current iteration like this: who.each({ name -> println name }) Dump & Inspect You can print out a lot of information about an object by calling dump. This should provide you the object type, its inheritance hierarchy, as well as its members There is also a method called inspect. Developers are expected to override inspect with useful information. If they haven't don that, it defaults to the toString() method for the object. With This is a helper method on objects called with. It accepts a closure and prevents you from having to continually re-type a variable name whose dot methods you are accessing, like this: data.with { println item println thing } AS OPPOSED TO println data.item println data.thing Groovy Truthfulness Any not null value evaluates to true on a boolean comparison, like this: if (!value) AS OPPOSED TO if (value == null) Categories TODO
Some Basic Activities def file = new File('../path/to/file.xml') def slurper = new XmlSlurper() def data = slurper.parse(file) println data.elementName println data.@attribute println data.elementA.elementB println data.elementA.elementB.@otherAttr XmlSlurper will also dynamically determine the type of XML object and try to convert it, so you can run collection methods on XML arrays, etc.
Möchten Sie kostenlos Ihre eigenen Notizen mit GoConqr erstellen? Mehr erfahren.