Unicode en especial utilizando $
Comunidad, muy buenas.
Generalmente tengo una consola de Scala para hacer pruebas de concepto a través de la shell REPL. Dado a que no la tenía instalada me dispuse a bajar Groovy ya que incluye una shell parecida.
Estaba probando con cadenas unicode y resulta que cuando tecleas:
x = "$"
Falla, la solución es muy simple y basta con escapar. El problema es cuando recibes el unicode, algo así falla. ¿Existe una manera de escapar cuando recibes el unicode?
Saludos y desde ya, gracias.
- Inicie sesión o regístrese para enviar comentarios
Cuando lo recibes como?
Cuando lo recibes como? Cuando el usuario lo escribe?
Re: Cuando lo recibes como?
Digamos que el usuario ingresa en pantalla: U+0024 que es el unicode de "$", esto yo lo traduzco a Groovy cómo "\u"+"0024"... En groovy cómo utilizas "$" para cosas cómo
lista.each(){ i -> print("El valor es ${i}") }
hay ciertos problemas y debes escaparlo o sea, si vas a utilizar "$" utilizas "\$".¿No hay manera de escaparlo cuando recibes el unicode?
Intenta utilizando single
Intenta utilizando single quote en vez de doble:
a = a + '$'
Re: Intenta utilizando single
Y esa fue la solución, encerrar la cadena en comilla simple.
¡Gracias!
Super, no sabia si funcionaba
Super, no sabia si funcionaba o no.
Aqui esta la doc:
http://groovy.codehaus.org/Strings+and+GString
En groovy una cadena con creada con doble es de tipo String, pero cuando hace falta ( por ejemplo para evaluar una variable con ${var} ) se convierte automaticamente en una GString que pertenece a otra jerarquia.
Para evitarlo y que siempre siga siendo String se puede usar comilla simple como lo hiciste.