Groovy: различия между версиями

3 байта добавлено ,  2 года назад
орфография
(орфография)
someMap.a = 2 // Изменение элемента, как поля</source>
 
Для хранения обьектовобъектов в качестве ключа можно использовать скобки ():
 
<source lang="groovy">
println "user: $user.first"
}
//создаем обьектобъект класса Person с параметрами
def tempPerson = new Person(first: 'Adam', last: 'Smith')
// вызов функции разными способами
= Closures =
 
Closure - это замыкание и представляет из себя некую анонимную функцию со свойствами обьектаобъекта.
 
Синтаксис замыкания : { [closureArguments->] statements }
</source>
 
Специальный класс [http://groovy.codehaus.org/gapi/groovy/util/Expando.html Expando] для создания динамических обьектовобъектов и методов (как замыкания) которые можно вызывать:
 
<source lang="groovy">
println new Manager2().doWork()
 
// Аннотация @Immutable делает обьектобъект этого класса неизменяемым
// свойства обьектобъекта становятся readonly
@Immutable
class Person{
import groovy.json.JsonSlurper
import groovy.json.JsonOutput
// Создание JSON обьектаобъекта
def json = new JsonBuilder()
json.person {
}
 
println json.toString() // вывод в строку полученного обьектаобъекта
 
// Парсинг строки в JSON формате
def someJSONString = '{"person":{"username":"Guillaume","age":33,"pets":["Hector","Felix"]}}'
println JsonOutput.prettyPrint(someJSONString) // форматированный вывод обьектаобъекта
 
def slurper = new JsonSlurper()
== Работа с XML ==
 
Создание XML документа из обьектаобъекта:
 
<source lang="groovy">
128

правок