Groovy ha un metodo per unire 2 mappe?


85

La prima mappa è le opzioni predefinite [a: true, b: false]. Seconda mappa: opzioni passate dall'utente [a:false]. Groovy ha il metodo di unione delle mappe da ottenere [a: false, b:false]?

Non è un problema implementarlo in Groovy. Sto chiedendo del metodo fuori dagli schemi

Risposte:


176

Puoi usare plus:

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

O spostamento a sinistra:

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

La differenza è che << aggiunge la mappa di destra alla mappa di sinistra . Quando lo usi +, costruisce una nuova mappa basata sul LHS e vi aggiunge la mappa di destra


Inoltre forse vale la pena notare che quando puoi usare +, puoi anche usare +=:def m1 =[ a: true, b: false ]; m1 += [ a: false ] ; println (m1 == [ a: false, b: false ])
Patrice M.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.