Groovy: избежать фигурных скобок внутри строки - PullRequest
1 голос
/ 21 апреля 2011

Я кодирую в Groovy и пытаюсь вернуть JavaScript. Вот проблема, мне нужно вернуть строку, которая содержит фигурную скобку и, конечно, Groovy читает это как ошибку. Вот простой пример:

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

Я хочу вернуть либо:
{ или
}, {
План и просто.

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

Можно ли избежать фигурных скобок, как в кавычках?
Я пробовал:

${ i == 0 ? '\{' : '\}, \{' }    

и

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

Спасибо.

Ответы [ 2 ]

5 голосов
/ 21 апреля 2011

Я предполагаю, что проблема возникает на странице GSP. Ошибка, которую вы, вероятно, получите, должна выглядеть примерно так:

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

Одним из решений является использование Unicode-представления для левой и правой фигурных скобок:

${ i == 0 ? "\u007B" : "\u007D,\u007B" }
2 голосов
/ 21 апреля 2011

Это работает для меня:

def i = 1
assert "},{" == "${i == 0 ? '{' : '},{'}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...