/ / Groovy: escapar de llaves dentro de la cuerda - cadena, groovy, escapar, llaves

Groovy: escapar de llaves dentro de una cuerda - groovy, escapar, llaves

Estoy codificando en groovy y estoy tratando de volveralgunos javascript. Aquí está el problema que necesito para devolver una cadena que contiene una llave y, por supuesto, Groovy lo lee como un error. Aquí hay un ejemplo simple:

${ i == 0 ? "{" : "}, {" }

Quiero devolver ya sea:
{ o
}, {
plano y sencillo.

${ i == 0 ? "should be left brace" : "should be right brace coma left brace" }

¿Se pueden escapar las llaves, como las citas que se escapan?
Yo he tratado:

${ i == 0 ? "{" : "}, {" }

y

${ i == 0 ? "{{" : "}}, {{" }

Gracias.

Respuestas

5 para la respuesta № 1

Supongo que el problema se produce en una página GSP. El error que probablemente obtenga debe ser similar a este:

expecting """, found "n" @ line 57, column 80.
it) { return i == 0 ? "{" : " })

Una solución es usar la representación de Unicode para llaves a la izquierda y derecha:

${ i == 0 ? "u007B" : "u007D,u007B" }

2 para la respuesta № 2

Esto funciona para mí:

def i = 1
assert "},{" == "${i == 0 ? "{" : "},{"}"

¿Puede compartir algún fragmento de código donde Groovy informa del error?