Вот несколько примеров замкнутого выражения. Первый показывает пару вещей. Во-первых, замкнутое выражение взаимодействует с переменной вне себя. То есть, цель замкнутого выражения состоит в том, чтобы соединить части готового порядка, хранившегося в массиве orderParts, добавляя (добавление) его к переменной fullString.
Переменная fullString не находится в замкнутом выражении. Вторая вещь, которая является различной в этом примере заключается в том, что замкнутое выражение является "анонимнымным", что означает, что она не учитывает название, и определяется в месте, где каждый метод вызывается.fullString = ""
orderParts = ["BUY", 200, "Hot Dogs", "1"]
orderParts.each {
fullString += it + " "
}
println fullString
Вы, вероятно, может догадаться, что это печатает.
Следующий пример является еще одним анонимным замкнутым выражением, на этот раз, подводя итог значений, сохраненных в карте.
myMap = ["asdf": 1 , "qwer" : 2, "sdfg" : 10]
result = 0
myMap.keySet().each( { result+= myMap[it] } )
println result