Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
jenkins:groovy [2024/10/05 05:01] admin создано |
jenkins:groovy [2024/12/01 12:15] (текущий) admin |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
===== Groovy ===== | ===== Groovy ===== | ||
+ | [[https:// | ||
+ | [[https:// | ||
< | < | ||
Строка 94: | Строка 95: | ||
print it | print it | ||
} | } | ||
+ | </ | ||
+ | <code groovy> | ||
</ | </ | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | < | ||
+ | В одинарных кавычках - Java Strings, внутри можно заключить двойные кавычки\\ | ||
+ | В двойных кавычках - Groovy Strings (GStrings), как минимум, | ||
+ | |||
+ | <code bash> | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | Объявляются путем перечисления элементов в квадратных скобках\\ | ||
+ | |||
+ | * **add()/ | ||
+ | * **contains()** - true/false, содержится ли элемент | ||
+ | * **plus()/ | ||
+ | * **remove()** - удаляет в указанной позиции, | ||
+ | * **revers()/ | ||
<code groovy> | <code groovy> | ||
+ | def somw_list = [1, 2, 3, 4] | ||
+ | def empty_list = [] | ||
+ | |||
+ | // Обращение | ||
+ | some_list[0] | ||
+ | |||
+ | // Добавление новых элементов | ||
+ | some_list[5] = 6 | ||
+ | some_list << 7 << 8 | ||
+ | some_list += [9, 19] | ||
+ | |||
+ | // Совместно с range | ||
+ | some_list[1..3] // срезка списка | ||
+ | some_list[2..4] = [12, 13, 14] | ||
+ | some_list[1, | ||
</ | </ | ||
+ | |||
+ | Операции над списками | ||
+ | <code groovy> | ||
+ | // Перебор | ||
+ | for (e in some_list) { | ||
+ | println e | ||
+ | } | ||
+ | |||
+ | some_list.each{ println it } | ||
+ | |||
+ | some_list.eachWithIndex{ it, i-> println "$i : $it" } | ||
+ | </ | ||
+ | |||
+ | |||
+ | Фильтрация | ||
+ | <code groovy> | ||
+ | assertTrue(some_list.findAll{ it>3 } == 4) | ||
+ | |||
+ | assertTrue(some_list.grep(Number) == [2, | ||
+ | |||
+ | some_list.unique() | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Типы списков. По умолчанию **ArrayList**, | ||
+ | <code groovy> | ||
+ | def linked_list = [1, 2, 3] as LinkedList | ||
+ | def set = [1, 2, 3] as Set | ||
+ | def array = [1, 2, 3] as Integer[] | ||
+ | </ | ||
+ | |||
+ | |||
+ | **Spread Operator**\\ | ||
+ | Вызов метода для каждого элемента списка\\ | ||
+ | <code groovy> | ||
+ | [1, | ||
+ | </ | ||
</ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | Ассоциативный массив, | ||
+ | * **keySet()/ | ||
+ | * **size()** | ||
+ | * **put(Object key, Object value)** - вкставка пары " | ||
+ | * **boolean containsKey(Object key)** - поиск указаного ключа, возвращает true/false | ||
+ | * **Object get(Object key)** - возвращает значение указанного ключа либо " | ||
+ | |||
+ | <code groovy> | ||
+ | def some_map = [' | ||
+ | def some_map = [:] // пустой | ||
+ | |||
+ | // Доступ | ||
+ | some_map[' | ||
+ | come_map.a | ||
+ | |||
+ | some_map[' | ||
+ | come_map.a = 2 // изменение как поля (?) | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | |||
+ | <code groovy> | ||
+ | println args | ||
+ | println args.length | ||
+ | println args.getClass() | ||
+ | |||
+ | println args[0] | ||
+ | println args[0].length() | ||
+ | println args[0].getClass() | ||
+ | |||
+ | |||
+ | if ((args.length == 0) || (args[0].length() == 0)) { | ||
+ | println "args must be set. error" | ||
+ | System.exit(1) | ||
+ | } | ||
+ | |||
+ | println "this good - ' | ||
+ | |||
+ | /// | ||
+ | /// вывод | ||
+ | / | ||
+ | |||
+ | [ddd] | ||
+ | 1 | ||
+ | class [Ljava.lang.String; | ||
+ | |||
+ | ddd | ||
+ | 3 | ||
+ | class java.lang.String | ||
+ | |||
+ | this good - ' | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | |||
+ | <code bash> | ||
+ | </ | ||
+ | </ | ||
+ |