Докуметация Cтарт Статьи Форум Лента Вход
Не официальное русскоязычное сообщество

groovy_learn

Опубликованно: 26.01.2018, 19:07
Последняя редакция, Andry: 28.01.2018 12:53

ИЗУЧЕНИЕ GROOVY

Синтаксис

Синтаксис Groovy может быть гораздо более компактным, чем Java. Например, объявление в стандартном Java 5+:

 for (String it : new String[] {"Rod", "Carlos", "Chris"})
     if (it.length() <= 4)
         System.out.println(it);

может быть выражено в Groovy как:

 ["Rod", "Carlos", "Chris"].findAll{it.size() <= 4}.each{println it}

То, что вы видите в круглых скобках \ {\}, является магическим *Закрытием*. Что делает Groovy настолько мощным, что он сравним с Java! Мы узнаем об этом позже.

Официальное описание синтаксиса

http://groovy-lang.org/For+those+new+to+both+Java+and+Groovy

http://groovy-lang.org/User+Guide

http://groovy-lang.org/Logical+Branching

http://groovy-lang.org/Looping

В качестве обзора для вас, я расскажу о наиболее важном в синтаксисе языка:

Логическое ветвление


Циклы


Операции


Основные языковые функции

Помимо элегантного синтаксиса, Groovy имеет функции, которые вы всегда хотите, чтобы были в Java. Ниже под подпунктами, называют несколько функций, которые действительно помогают в программировании игры:

Перегрузка операций(Operation overload)


Коллекции(Collections)


Reflection


Закрытие(Closure)

Об этом подробнее здесь:

http://groovy-lang.org/Closures

http://groovy-lang.org/Closures-Informal+Guide

http://groovy-lang.org/Closures-+Formal+Definition

Что такое Закрытие(Closure)?

Groovy Closure — это как «блок кода или указатель метода». Это часть кода, которая определяется и затем выполняется в более поздней точке. Он имеет некоторые специальные свойства, такие как неявные переменные, поддержку currying и поддержки свободных переменных (что мы рассмотрим позже). На данный момент мы будем игнорировать подробные подробности (см. Формальное определение, если вам это нужно) и посмотрим на некоторые простые примеры. Простой пример

def clos = { println "hello!" }

println "Executing the Closure:"
clos()                          //печатает "hello!"

Обратите внимание, что в приведенном выше примере «hello»! печатается, когда вызывается Closure, а не когда оно задаётся.

и Подводные камни

http://groovy-lang.org/Differences+from+Java

Метапрограммирование

Вот и получилось! Для тех, кто помнит о силе ключевого слова prototype в JavaScript, вы можете делать то же в Groovy. Для тех, кто даже не знает, что такое JavaScript и метапрограммирование — это способ расширения класса с помощью методов и атрибутов «на лету».

Groovy Builder – SwingBuilder

Groovy использует большую мощь шаблона Builder.

В нижеприведенных фрагментах я покажу, что вы пишете несколько builders, чтобы ускорить ваш JME код. Полный список Builder приведен в частях 3 и 4.

Language comperation


JavaScript comperation


Переведено для jmonkeyengine.ru, оригинал
Автор перевода: Andry

Добавить комментарий

jMonkeyEngine.ru © 2017. Все права сохранены.