Инструменты пользователя

Инструменты сайта


jenkins:groovy

Это старая версия документа!


Groovy

:!: Notes

- Все является объектами, все примитивные типы сразу же упаковываются в объекты
- все упаковочные типы неизменяемые, каждый раз при каком либо вычислении будет создаваться новый объект

- Groovy Strings (GStrings) можно вставлять параметры
- К строчкам применимы операции сложения и умножения, а так же инкремент/декремент

- На уровне конструкций языка поддерживаются регулярные выражения
- Встроенная поддержка maps и list

- Поддерживает Ranges

// GStrings
str1 = "${variable}"
str2 = "${2+2}"
 
// maps и list
a = [1, 2, 3]
==> [1, 2, 3]
 
b= [1: true, 0: false]
==> {1=true, 0=false}

Циклы

for (1 in 0..9) {
  print i
}
 
 
for (int i=0; i<9; ++i) {
  print i
}
 
 
for (Integer i: 0..9){
  print i
}

Доступно большое кол-во методов для обработки последовательностей, к которым можно применять замыкание

'qwerty'.each {
  print it
}
 
 
('a'..'z').each {
  print it
}
 
 
('a'..'z').findAll {el -> // filter
  el in ['e', 'y', 'i']
}.each {
  print it + ''
}
 
(0..10).collect {el -> // = map
  el * 10
}.each {
  print it + ''
}
 
 
def sum = (0..10).inject(0) {prev, elem -> // = reduce
	return prev + elem
}

Файлы
Для директорий есть ф-я eachFile и eachFileRecursive

// Список файлов в директории
new File(.).eachFile{
  print it
}
 
 
// Обработка текстовых файлов
new File('textfile.txt').eachLine {
  print it
}
 
:!:
 
jenkins/groovy.1728104519.txt.gz · Последнее изменение: 2024/10/05 05:01 — admin