SlideShare a Scribd company logo
1 of 17
Groovy –  другой взляд на  Java Вадим Войтюк [email_address] http://voituk.kiev.ua/
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Groovy –  это …   Groovy –  другой взляд на  Java Киев,  15  марта 2008 г.
public class Filter { public static void main( String[] args) { List list = new ArrayList(); list.add( &quot;Rod&quot; ); list.add( &quot;Neeta&quot; ); list.add( &quot;Eric&quot; ); list.add( &quot;Missy&quot; ); Filter filter = new Filter(); List shorts = filter.filterLongerThan( list, 4 ); System.out.println( shorts.size() ); Iterator iter= shorts.iterator(); while ( iter.hasNext() ) System.out.println( iter.next() ); } public List filterLongerThan( List list, intlength ) { List result = new ArrayList(); Iterator iter= list.iterator(); while ( iter.hasNext() ) { String item = (String) iter.next(); if ( item.length() <= length ) result.add( item );  } return result; } } Пример:  Java  код Groovy –  другой взляд на  Java Киев,  15  марта 2008 г.
String mas[] = {”Rod”, “Neeta”, “Eric”, “Missy”}; List l = new LinkedList(Arrays.asList(mas)); for(Iterator i = l.iterator(); i.hasNext();)  if(i.next().length() > 4)  i.remove(); System.out.println(l.size()); for(String s: l)  System.out.println(s); Пример:  Java  код (снова) Groovy –  другой взляд на  Java Киев,  15  марта 2008 г.
def list = [&quot;Rod&quot;, &quot;Neeta&quot;, &quot;Eric&quot;, &quot;Missy&quot;] def shorts = list.findAll{ it.size() <= 4 } println shorts.size() shorts.each {   println it  } Результат: 2 Rod Eric Пример:  Groovy  код Groovy –  другой взляд на  Java Киев,  15  марта 2008 г.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Особенности  Groovy Groovy –  другой взляд на  Java Киев,  15  марта 2008 г.
[object Object],[object Object],[object Object],[object Object],[object Object],Основы синтаксиса Groovy –  другой взляд на  Java Киев,  15  марта 2008 г.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Расширенные возможности Groovy –  другой взляд на  Java Киев,  15  марта 2008 г.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],GDK  –  JDK  на стероидах Groovy –  другой взляд на  Java Киев,  15  марта 2008 г.
(new  MarkupBuilder ()).records() { car(name:'HSV Maloo', make:'Holden', year:2006) { country('Australia') record(type:'speed', 'Pickup Truck, speed 271kph') } car(name:'P50', make:'Peel', year:1962) { 10.times{  country('Isle of Man')  } record(type:'size', ‘Street-Legal Car at   59 kg') } car(name:'Royale', make:'Bugatti', year:1931) { country('France') record(type:'price', 'Most Valuable Car at $15Mln') } } Groovy Builder- ы  –  Пример – Код  Groovy –  другой взляд на  Java Киев,  15  марта 2008 г.
<records> <car name='HSV Maloo' make='Holden' year='2006'> <country>Australia</country> <record type='speed'>Pickup Truck, speed 271kph</record> </car> <car name='P50', make='Peel', year='1962' > <country>Isle of Man<country> … …  // 10  раз <record type='size’>Street-Legal Car at   59 kg</record> … …  Groovy Builder- ы  –  Пример – Результат Groovy –  другой взляд на  Java Киев,  15  марта 2008 г.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Groovy Builder- ы  –  их есть... Groovy –  другой взляд на  Java Киев,  15  марта 2008 г.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Что ещё  может   Groovy? Groovy –  другой взляд на  Java Киев,  15  марта 2008 г.
[object Object],[object Object],[object Object],[object Object],[object Object],Инструментальная поддержка Groovy –  другой взляд на  Java Киев,  15  марта 2008 г.
Идеологическая поддержка Groovy –  другой взляд на  Java Киев,  15  марта 2008 г.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Источники знаний Groovy –  другой взляд на  Java Киев,  15  марта 2008 г.
[object Object],Вопросы? Groovy –  другой взляд на  Java Киев,  15  марта 2008 г.

More Related Content

What's hot

Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)Ontico
 
Проникновение в Docker с примерами
Проникновение в Docker с примерамиПроникновение в Docker с примерами
Проникновение в Docker с примерамиДмитрий Столяров
 
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...Stas Vyschepan
 
Flask как хорошее решение для веб проекта
Flask как хорошее решение для веб проектаFlask как хорошее решение для веб проекта
Flask как хорошее решение для веб проектаPython Meetup
 
Asynchrony and coroutines
Asynchrony and coroutinesAsynchrony and coroutines
Asynchrony and coroutinescorehard_by
 
Беглый обзор "внутренностей" Python
Беглый обзор "внутренностей" PythonБеглый обзор "внутренностей" Python
Беглый обзор "внутренностей" PythonMaxim Kulsha
 
Practical Python Packaging / Стас Рудаков / Web Developer Wargaming
 Practical Python Packaging / Стас Рудаков / Web Developer Wargaming Practical Python Packaging / Стас Рудаков / Web Developer Wargaming
Practical Python Packaging / Стас Рудаков / Web Developer WargamingPython Meetup
 
Hunting for a C++ package manager
Hunting for a C++ package managerHunting for a C++ package manager
Hunting for a C++ package managercorehard_by
 
Fabric для управления серверами
Fabric для управления серверамиFabric для управления серверами
Fabric для управления серверамиMaxim Kulsha
 
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...Badoo Development
 
Как ВКонтакте использует Go
Как ВКонтакте использует GoКак ВКонтакте использует Go
Как ВКонтакте использует GoArtem Kovardin
 
Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016Nikita Baksalyar
 
Сергей Шамбир, Адаптация Promise/A+ для взаимодействия между C++ и Javascript
Сергей Шамбир, Адаптация Promise/A+ для взаимодействия между C++ и JavascriptСергей Шамбир, Адаптация Promise/A+ для взаимодействия между C++ и Javascript
Сергей Шамбир, Адаптация Promise/A+ для взаимодействия между C++ и JavascriptSergey Platonov
 
Александр Тарасенко, Использование python для автоматизации отладки С/C++ код...
Александр Тарасенко, Использование python для автоматизации отладки С/C++ код...Александр Тарасенко, Использование python для автоматизации отладки С/C++ код...
Александр Тарасенко, Использование python для автоматизации отладки С/C++ код...Sergey Platonov
 
Internationalization and localization of the python applications with gettext...
Internationalization and localization of the python applications with gettext...Internationalization and localization of the python applications with gettext...
Internationalization and localization of the python applications with gettext...Volodymyr Hotsyk
 
Как мы делаем модули PHP в Badoo – Антон Довгаль
Как мы делаем модули PHP в Badoo – Антон ДовгальКак мы делаем модули PHP в Badoo – Антон Довгаль
Как мы делаем модули PHP в Badoo – Антон ДовгальBadoo Development
 

What's hot (20)

Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
 
Проникновение в Docker с примерами
Проникновение в Docker с примерамиПроникновение в Docker с примерами
Проникновение в Docker с примерами
 
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
 
Flask как хорошее решение для веб проекта
Flask как хорошее решение для веб проектаFlask как хорошее решение для веб проекта
Flask как хорошее решение для веб проекта
 
Asynchrony and coroutines
Asynchrony and coroutinesAsynchrony and coroutines
Asynchrony and coroutines
 
Python и Cython
Python и CythonPython и Cython
Python и Cython
 
Беглый обзор "внутренностей" Python
Беглый обзор "внутренностей" PythonБеглый обзор "внутренностей" Python
Беглый обзор "внутренностей" Python
 
Practical Python Packaging / Стас Рудаков / Web Developer Wargaming
 Practical Python Packaging / Стас Рудаков / Web Developer Wargaming Practical Python Packaging / Стас Рудаков / Web Developer Wargaming
Practical Python Packaging / Стас Рудаков / Web Developer Wargaming
 
Docker networking
Docker networkingDocker networking
Docker networking
 
Hunting for a C++ package manager
Hunting for a C++ package managerHunting for a C++ package manager
Hunting for a C++ package manager
 
Fabric для управления серверами
Fabric для управления серверамиFabric для управления серверами
Fabric для управления серверами
 
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
 
Как ВКонтакте использует Go
Как ВКонтакте использует GoКак ВКонтакте использует Go
Как ВКонтакте использует Go
 
The second
The secondThe second
The second
 
Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016
 
Отладка в Python: 2016 edition
Отладка в Python: 2016 editionОтладка в Python: 2016 edition
Отладка в Python: 2016 edition
 
Сергей Шамбир, Адаптация Promise/A+ для взаимодействия между C++ и Javascript
Сергей Шамбир, Адаптация Promise/A+ для взаимодействия между C++ и JavascriptСергей Шамбир, Адаптация Promise/A+ для взаимодействия между C++ и Javascript
Сергей Шамбир, Адаптация Promise/A+ для взаимодействия между C++ и Javascript
 
Александр Тарасенко, Использование python для автоматизации отладки С/C++ код...
Александр Тарасенко, Использование python для автоматизации отладки С/C++ код...Александр Тарасенко, Использование python для автоматизации отладки С/C++ код...
Александр Тарасенко, Использование python для автоматизации отладки С/C++ код...
 
Internationalization and localization of the python applications with gettext...
Internationalization and localization of the python applications with gettext...Internationalization and localization of the python applications with gettext...
Internationalization and localization of the python applications with gettext...
 
Как мы делаем модули PHP в Badoo – Антон Довгаль
Как мы делаем модули PHP в Badoo – Антон ДовгальКак мы делаем модули PHP в Badoo – Антон Довгаль
Как мы делаем модули PHP в Badoo – Антон Довгаль
 

Viewers also liked

6° b desalari.
6° b desalari.6° b desalari.
6° b desalari.jyc
 
Digital Methods and Tools for Hacking Journalism
Digital Methods and Tools for Hacking JournalismDigital Methods and Tools for Hacking Journalism
Digital Methods and Tools for Hacking Journalismannehelmond
 
Bridging The Poverty Gap through inclusive innovation
Bridging The Poverty Gap through inclusive innovationBridging The Poverty Gap through inclusive innovation
Bridging The Poverty Gap through inclusive innovationGeorge Mathew
 
JavaScript на диване
JavaScript на диванеJavaScript на диване
JavaScript на диванеvoituk
 
Blogging and the blogosphere through the eyes of software and search engines
Blogging and the blogosphere through the eyes of software and search enginesBlogging and the blogosphere through the eyes of software and search engines
Blogging and the blogosphere through the eyes of software and search enginesannehelmond
 
Visita a desalari 6° a
Visita a desalari 6° aVisita a desalari 6° a
Visita a desalari 6° ajyc
 

Viewers also liked (8)

6° b desalari.
6° b desalari.6° b desalari.
6° b desalari.
 
Digital Methods and Tools for Hacking Journalism
Digital Methods and Tools for Hacking JournalismDigital Methods and Tools for Hacking Journalism
Digital Methods and Tools for Hacking Journalism
 
Youtube Nation
Youtube NationYoutube Nation
Youtube Nation
 
marketing audit gratuito
marketing audit gratuitomarketing audit gratuito
marketing audit gratuito
 
Bridging The Poverty Gap through inclusive innovation
Bridging The Poverty Gap through inclusive innovationBridging The Poverty Gap through inclusive innovation
Bridging The Poverty Gap through inclusive innovation
 
JavaScript на диване
JavaScript на диванеJavaScript на диване
JavaScript на диване
 
Blogging and the blogosphere through the eyes of software and search engines
Blogging and the blogosphere through the eyes of software and search enginesBlogging and the blogosphere through the eyes of software and search engines
Blogging and the blogosphere through the eyes of software and search engines
 
Visita a desalari 6° a
Visita a desalari 6° aVisita a desalari 6° a
Visita a desalari 6° a
 

Similar to Groovy presentation on Exception #7 conference

Js Http Request дмитрий котеров
Js Http Request   дмитрий котеровJs Http Request   дмитрий котеров
Js Http Request дмитрий котеровMedia Gorod
 
Groovy presentation.
Groovy presentation.Groovy presentation.
Groovy presentation.Infinity
 
Принципы проектирования S.O.L.I.D
Принципы проектирования S.O.L.I.DПринципы проектирования S.O.L.I.D
Принципы проектирования S.O.L.I.DAndreyGeonya
 
ZFConf 2010: Zend Framework and Multilingual
ZFConf 2010: Zend Framework and MultilingualZFConf 2010: Zend Framework and Multilingual
ZFConf 2010: Zend Framework and MultilingualZFConf Conference
 
FrontTalks: Алексей Андросов (Яндекс), «Ошибки, которые мы любим»
FrontTalks: Алексей Андросов (Яндекс), «Ошибки, которые мы любим»FrontTalks: Алексей Андросов (Яндекс), «Ошибки, которые мы любим»
FrontTalks: Алексей Андросов (Яндекс), «Ошибки, которые мы любим»Yandex
 
Alexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the Beast
Alexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the BeastAlexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the Beast
Alexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the BeastAlexander Dymo
 
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The BeastAlexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The BeastAlexander Dymo
 
ZFConf 2010: What News Zend Framework 2.0 Brings to Us
ZFConf 2010: What News Zend Framework 2.0 Brings to UsZFConf 2010: What News Zend Framework 2.0 Brings to Us
ZFConf 2010: What News Zend Framework 2.0 Brings to UsZFConf Conference
 
Node.js введение в технологию, КПИ #ITmeetingKPI
Node.js введение в технологию, КПИ  #ITmeetingKPINode.js введение в технологию, КПИ  #ITmeetingKPI
Node.js введение в технологию, КПИ #ITmeetingKPITimur Shemsedinov
 
Cpp0x Introduction
Cpp0x IntroductionCpp0x Introduction
Cpp0x IntroductionFedor Vompe
 
Rust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest 2016 Nizhny NovgorodRust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest 2016 Nizhny NovgorodNikita Baksalyar
 
Igor Khotin - Domain Specific Languages
Igor Khotin - Domain Specific LanguagesIgor Khotin - Domain Specific Languages
Igor Khotin - Domain Specific LanguagesIgor Khotin
 
Rich UI on Dojo Toolkit and Zend Framework
Rich UI on Dojo Toolkit and Zend FrameworkRich UI on Dojo Toolkit and Zend Framework
Rich UI on Dojo Toolkit and Zend FrameworkGeorgy Turevich
 
Saint Perl 2009: CGI::Ajax demo
Saint Perl 2009: CGI::Ajax demoSaint Perl 2009: CGI::Ajax demo
Saint Perl 2009: CGI::Ajax demomegakott
 
Архитектура кода нового 2ГИС Web API или куда мы дели MVC
Архитектура кода нового 2ГИС Web API или куда мы дели MVCАрхитектура кода нового 2ГИС Web API или куда мы дели MVC
Архитектура кода нового 2ГИС Web API или куда мы дели MVCDevDay
 
анализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестированияанализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестированияRuslan Shevchenko
 

Similar to Groovy presentation on Exception #7 conference (20)

Perl in practice
Perl in practicePerl in practice
Perl in practice
 
Js Http Request дмитрий котеров
Js Http Request   дмитрий котеровJs Http Request   дмитрий котеров
Js Http Request дмитрий котеров
 
Groovy presentation.
Groovy presentation.Groovy presentation.
Groovy presentation.
 
Принципы проектирования S.O.L.I.D
Принципы проектирования S.O.L.I.DПринципы проектирования S.O.L.I.D
Принципы проектирования S.O.L.I.D
 
ZFConf 2010: Zend Framework and Multilingual
ZFConf 2010: Zend Framework and MultilingualZFConf 2010: Zend Framework and Multilingual
ZFConf 2010: Zend Framework and Multilingual
 
FrontTalks: Алексей Андросов (Яндекс), «Ошибки, которые мы любим»
FrontTalks: Алексей Андросов (Яндекс), «Ошибки, которые мы любим»FrontTalks: Алексей Андросов (Яндекс), «Ошибки, которые мы любим»
FrontTalks: Алексей Андросов (Яндекс), «Ошибки, которые мы любим»
 
Alexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the Beast
Alexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the BeastAlexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the Beast
Alexander Dymo - IT-клуб Николаева - April 2011 - Ruby: Beaty and the Beast
 
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The BeastAlexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
 
ZFConf 2010: What News Zend Framework 2.0 Brings to Us
ZFConf 2010: What News Zend Framework 2.0 Brings to UsZFConf 2010: What News Zend Framework 2.0 Brings to Us
ZFConf 2010: What News Zend Framework 2.0 Brings to Us
 
Node.js введение в технологию, КПИ #ITmeetingKPI
Node.js введение в технологию, КПИ  #ITmeetingKPINode.js введение в технологию, КПИ  #ITmeetingKPI
Node.js введение в технологию, КПИ #ITmeetingKPI
 
Cpp0x Introduction
Cpp0x IntroductionCpp0x Introduction
Cpp0x Introduction
 
Rust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest 2016 Nizhny NovgorodRust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest 2016 Nizhny Novgorod
 
Igor Khotin - Domain Specific Languages
Igor Khotin - Domain Specific LanguagesIgor Khotin - Domain Specific Languages
Igor Khotin - Domain Specific Languages
 
About Python
About PythonAbout Python
About Python
 
Rich UI on Dojo Toolkit and Zend Framework
Rich UI on Dojo Toolkit and Zend FrameworkRich UI on Dojo Toolkit and Zend Framework
Rich UI on Dojo Toolkit and Zend Framework
 
Saint Perl 2009: CGI::Ajax demo
Saint Perl 2009: CGI::Ajax demoSaint Perl 2009: CGI::Ajax demo
Saint Perl 2009: CGI::Ajax demo
 
Архитектура кода нового 2ГИС Web API или куда мы дели MVC
Архитектура кода нового 2ГИС Web API или куда мы дели MVCАрхитектура кода нового 2ГИС Web API или куда мы дели MVC
Архитектура кода нового 2ГИС Web API или куда мы дели MVC
 
Bytecode
BytecodeBytecode
Bytecode
 
анализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестированияанализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестирования
 
JavaScript как объектно-ориентированный язык программирования
JavaScript как объектно-ориентированный язык программированияJavaScript как объектно-ориентированный язык программирования
JavaScript как объектно-ориентированный язык программирования
 

Groovy presentation on Exception #7 conference

  • 1. Groovy – другой взляд на Java Вадим Войтюк [email_address] http://voituk.kiev.ua/
  • 2.
  • 3. public class Filter { public static void main( String[] args) { List list = new ArrayList(); list.add( &quot;Rod&quot; ); list.add( &quot;Neeta&quot; ); list.add( &quot;Eric&quot; ); list.add( &quot;Missy&quot; ); Filter filter = new Filter(); List shorts = filter.filterLongerThan( list, 4 ); System.out.println( shorts.size() ); Iterator iter= shorts.iterator(); while ( iter.hasNext() ) System.out.println( iter.next() ); } public List filterLongerThan( List list, intlength ) { List result = new ArrayList(); Iterator iter= list.iterator(); while ( iter.hasNext() ) { String item = (String) iter.next(); if ( item.length() <= length ) result.add( item ); } return result; } } Пример: Java код Groovy – другой взляд на Java Киев, 15 марта 2008 г.
  • 4. String mas[] = {”Rod”, “Neeta”, “Eric”, “Missy”}; List l = new LinkedList(Arrays.asList(mas)); for(Iterator i = l.iterator(); i.hasNext();) if(i.next().length() > 4) i.remove(); System.out.println(l.size()); for(String s: l) System.out.println(s); Пример: Java код (снова) Groovy – другой взляд на Java Киев, 15 марта 2008 г.
  • 5. def list = [&quot;Rod&quot;, &quot;Neeta&quot;, &quot;Eric&quot;, &quot;Missy&quot;] def shorts = list.findAll{ it.size() <= 4 } println shorts.size() shorts.each { println it } Результат: 2 Rod Eric Пример: Groovy код Groovy – другой взляд на Java Киев, 15 марта 2008 г.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. (new MarkupBuilder ()).records() { car(name:'HSV Maloo', make:'Holden', year:2006) { country('Australia') record(type:'speed', 'Pickup Truck, speed 271kph') } car(name:'P50', make:'Peel', year:1962) { 10.times{ country('Isle of Man') } record(type:'size', ‘Street-Legal Car at 59 kg') } car(name:'Royale', make:'Bugatti', year:1931) { country('France') record(type:'price', 'Most Valuable Car at $15Mln') } } Groovy Builder- ы – Пример – Код Groovy – другой взляд на Java Киев, 15 марта 2008 г.
  • 11. <records> <car name='HSV Maloo' make='Holden' year='2006'> <country>Australia</country> <record type='speed'>Pickup Truck, speed 271kph</record> </car> <car name='P50', make='Peel', year='1962' > <country>Isle of Man<country> … … // 10 раз <record type='size’>Street-Legal Car at 59 kg</record> … … Groovy Builder- ы – Пример – Результат Groovy – другой взляд на Java Киев, 15 марта 2008 г.
  • 12.
  • 13.
  • 14.
  • 15. Идеологическая поддержка Groovy – другой взляд на Java Киев, 15 марта 2008 г.
  • 16.
  • 17.