2016-09-01 4 views

ответ

5

Это несколько заданий.

Там в blog post here и documentation here:

Groovy поддерживает множественное назначение, то есть, когда несколько переменных могут быть назначены одновременно, например:

def (a, b, c) = [10, 20, 'foo'] 
assert a == 10 && b == 20 && c == 'foo' 

Вы можете предоставить типы в рамках декларации если вы желаете:

def (int i, String j) = [10, 'foo'] 
assert i == 10 && j == 'foo' 

Также используется при декларировании Переменные это также относится к существующим переменным:

def nums = [1, 3, 5] 
def a, b, c 
(a, b, c) = nums 
assert a == 1 && b == 3 && c == 5 

Синтаксис работает для массивов, а также списки, а также методы, которые возвращают либо из них:

def (_, month, year) = "18th June 2009".split() 
assert "In $month of $year" == 'In June of 2009' 
+0

Но уступка делается к функция весеннего защитного плагина grails. Как бы вы объяснили это поведение? – nktsg

+1

Фактически задание выполняется * с * правой стороны задания: «функция плагина весенней безопасности грааля». Эта функция, очевидно, возвращает список размером 3, и поэтому элементы этого списка назначаются в порядке * на * переменные, перечисленные в левой части задания. – BalRog

Смежные вопросы