Groovy is groovy!

2016-09-01

Срать кирпичами

На старости лет возникла рабочая необходимость использовать чудо-язык программирования Groovy. Кто-то его называет альтернативой Java, кто-то скриптовым языком для JVM. Но тем не менее, некоторые конструкции заставляют срать кирпичами многих. Особенно - членов секты святого C++, свято верующих в оптимизирующий компилятор.

Учитывая, что я старался не программировать (и вполне успешно) около 4х лет - экзерсисы показались весьма забавными и интересными.

Простая задачка - есть “список списков”, нужно получить второй список, содержащий размеры (.size()) внутренних списков.

Пара вариантов на Groovy:

def listOfLists = [[1,2], [3,4,5] ]

Вариант номер раз:

def listOfSizes = listOfLists.collect { it.size() }

Ну тут всё просто - вызываем “collect” для внешнего списка, а в нём вызываем .size() для внутреннего. На выходе - список размеров.

Следующий пример развеселил - “век живи - век учись” (правда конец немного предсказуем):

def anotherListOfSizes = listOfLists*.size()

И это прекрасно. Очень надеюсь, что идолопоклонники C++ при виде такого изойдут на говно. Здоровья вам, хорошего настроения :).

На фразу “Джава мол тормозит” - отвечу просто. Пусть работает компьютер - он железный. И это его работа :). А если денег нет на новый - продолжайте читать LOR, там обязательно помогут.

Кстати, само слово "groovy", возможно, взято из фразочек героя Duke Nukem 3D, а там, в свою очередь, оно появилось из какой-то части “Зловещих Мертвецов”, когда Эш нашёл винтовку для борьбы с упырями.


В массы

В трубу