Czy Groovy ma metodę łączenia 2 map?


85

Pierwsza mapa to opcje domyślne [a: true, b: false]. Druga mapa - opcje przekazywane przez użytkownika [a:false]. Czy Groovy ma metodę scalania map [a: false, b:false]?

Wdrożenie go w Groovy nie stanowi problemu. Pytam o metodę po wyjęciu z pudełka

Odpowiedzi:


176

Możesz użyć plus:

assert [ a: true, b: false ] + [ a: false ] == [ a: false, b: false ]

Lub przesunięcie w lewo:

assert [ a: true, b: false ] << [ a: false ] == [ a: false, b: false ] 

Różnica polega na tym, że << dodaje mapę po prawej stronie do mapy po lewej stronie . Kiedy używasz +, tworzy nową mapę w oparciu o LHS i dodaje do niej mapę po prawej stronie


Warto również zauważyć, że kiedy możesz użyć +, możesz również użyć +=:def m1 =[ a: true, b: false ]; m1 += [ a: false ] ; println (m1 == [ a: false, b: false ])
Patrice M.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.