Простые операции с картами в Groovy (в частности: добавление карт) - PullRequest
1 голос
/ 27 января 2012

У меня проблема с пониманием операций с картой

def map1 = [ name: 'John']
def map2 =  [ name: 'Jane']

assert [ name: 'Jane'] == map1 + map2

Я хотел бы получить результирующую карту типа

[[ name: 'Jane'], [ name: 'John']]

1 Ответ

3 голосов
/ 27 января 2012

Когда вы делаете:

map1 + map2

объединяет карты с картой правой руки, перезаписывая любые общие ключи с картой левой руки.

так:

[ a:1, b:2 ] + [ b:3, c:4 ] == [ a:1, b:3, c:4 ]

То, что вы хотите, это список карт. Один из вариантов:

[ map1 ] + map2

Который включает map1 в список, а затем добавляет map2 в этот список

assert [[ name: 'John'], [ name: 'Jane']] == [ map1 ] + map2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...