La idea es poder evaluar Strings del tipo: "a1:b1,a2:b2,..." a Mapas en Groovy, donde ai, bi son Strings que no contengan ',' ni ':'.
Primero hay que agregar el método al operador leftShift de la metaclase del mapa, para que podamos usar el operador leftShift:
LinkedHashMap.metaClass.leftShift << {
String it -> def p = it.split(','); p.each { putAt(*it.split(':')) }
}
Ahora podremos usar el operador para generar mapas a partir de Strings:
String mapa = "a:b,number:123456,hello:good bye" // el string a convertir
def m = [:] // mapa vacío
m << mapa // agregamos el string al mapa
assert m == [a:'b',number:'123456',hello:'good bye'] // probamos que se generó bien
Así de simple es Groovy :)
No hay comentarios.:
Publicar un comentario