Skip to content

Instantly share code, notes, and snippets.

@chuikoaleksandr
Last active December 19, 2018 11:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chuikoaleksandr/0d8d1a0488fdc47e252820dd516bb801 to your computer and use it in GitHub Desktop.
Save chuikoaleksandr/0d8d1a0488fdc47e252820dd516bb801 to your computer and use it in GitHub Desktop.
simple groovy base tutorial for https://atlasteam.ru/?p=1834
//Как объявить переменную
def a = 5 //целое число
def а = -5.4 //отрицательное число с дробной частью
def a = 'test' //обычная строка
def a = true //логическая переменная true/false
def a = null //значение отсутствует
//как вернуть/вывести на кран значение
return a
//Как узнать класс объекта
a.class
yourObject.class
yourObject.getClass()
//Как узнать доступные методы в объекте
object.class.methods
//Работа с числами
def a = -7.4
a.abs() //7.4
A as Integer // -7
A.toInteger() // -7
'7' as Integer //число 7
//Как сравнить числа
a > b //больше?
a <= b //меньше или равно?
a == b //равно?
a != b //не равно?
//арифметичесие действия
7 + 5
7 - 5
7 * 5
7 / 5
7 ** 5//Возведение в степень
7 % 5//Остаток от деления
//Как создать список значений
def list = []
//Как создать список уникальных значений
def set = [] as Set
set = list as Set
//Как добавить значение в список
list << a
list += a
list.add(a)
//Как убрать значение из списка
list-= a
list.remove(a)
//Как создать список пар ключ:значение (словарь/map)
def map = [:]
//Как добавить значение в map
map << [key: value]//key - строка
map << [(key): value]//key - объект
//Как получить значение из map по ключу
map.key
map['key']
//Как удалить ключ из map
map.remove(key)
//Как узнать размер списка
list.size()
//Как получить первый элемент списка
list.first()
//Как получить последний элемент
list.last()
//Как получить максимальный элемент
list.max()
//Как получить минимальный элемент
list.min()
//Как соединить два списка
list1 += list2
list += set
//Как превратить список списков объектов в список объектов
listOfList = [[1,2,3], [4,5,6]]
list = listOfList.flatten()
list == [1,2,3,4,5,6]
//Как найти пересечение двух списков
list1.intersect(list2)
//Как перевернуть список
list.revert()
//Как обойти список
list.each{ item->
//item - поочередно присватается каждый элемент списка
}
list.each{
//по умолчания вместо item используется переменная  it, ее можно не указывать
}
//Как обойти map
map.each{key, value->
//key, value-> поочередно признаются значения каждой пары
}
//Как отсортировать список
list.sort()
listOfmap = [[key:1], [key:3], [key:2]]
listOfmap.sort{it.key} == [[key:1], [key:2], [key:3]]
//Как найти 1 элемент в списке
list = [1,2,3]
list.find{
it == 2
}
//Как найти все элементы по условию
list.findAll{
it >=2
}
//Как изменить каждый элемент списка
list.collect{
it * 2
}
//Как проверить что все элементы удовлетворяют условию
list.every{it > 0}
//Как проверить, что хотя бы один элемент удовлетворяет условию
list.any{it > 0}
//Как проверить что список содержит значение
list.contains(a)
//Как проверить что значение в переменной есть
if(a){
//если a == true или a != null или a = не пустое значение([], '')
}
//Строки
'string' //Обычная строка
'''st
ri
n
g''' //Обычная многострочная строка
"groovy string" //Груви(groovy) строка
"""groovy
string""" //Многострочная груви строка
//В груви строке можно использовать переменные через конструкцию ${}
def a = 123
"${a}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment