Translate
jueves, 10 de enero de 2013
String Interpolation en Scala 2.10
Como vimos en un post anterior Scala libero la versión 2.10 con importantes novedades, entre ellas String Interpolation o Interpolación de cadenas. Lo que permite esta técnica es llamar variables directamente desde el string, sin tener la necesidad de concatenar strings. Veamos un ejemplo:
val name = "Pepe"
println(s"Hola $name") // Hola Pepe
Podemos ver que en el ejemplo se utilizo "s" este prefijo nos permite el uso de variables de manera directa dentro de la propia cadena. s nos permite utilizar cualquier variable que este en el contexto y también expresiones:
println(s"1 + 1 = ${1 + 1}")
"f" permite formatear una cadena muy similar al printf de otros lenguajes como C++, veamos un ejemplo:
val height = 1.9d
val name = "Pepe"
println(f"$name%s is $height%2.2f meters") // Pepe is 1.90 meters
Ojo f es type-safe; lo que significa que si utilizamos una manera de formatear números y la variable es string; va a lanzar una excepción.
raw se diferencia de s dado que escapa caracteres especiales. Veamos un ejemplo:
scala> s"a\nb"
res0: String =
a
b
Pero con raw sería:
scala> raw"a\nb"
res1: String = a\nb
La interpolación de cadenas no funciona con sentencias “pattern matching”. Esta funcionalidad está planificada para su inclusión en la versión 2.11 de Scala.
Un gran avance, Scala sigue creciendo!!
Dejo link:
http://docs.scala-lang.org/es/overviews/core/string-interpolation.html