Una de las tareas que los programadores solemos hacer cuando estamos escribiendo código es mostrar en consola el valor de una variable o un mensaje que indique si el flujo del programa ha pasado, por ejemplo, dentro de un bucle o sentencia de control.
Esto nos suele ayudar a depurar manualmente (sin usar herramientas del entorno de desarrollo como el depurador) una parte de nuestro programa o aplicación. Como podéis suponer el lenguaje de programación de Apple también soporta esta característica y lo hace de forma muy parecida a como lo puede hacer el lenguaje de programación C usando una técnica denominada String Interpolation en Swift.
Nosotros prodremos imprimir el valor actual (en tiempo de ejecución) de una constante o una variable con la función println tal y como vemos en el siguiente fragmento de código:
var bienvenida = »Hola masquetecleros!»
println(bienvenida)
// muestra en la consola el texto Hola masquetecleros!
La función println es una función global (puede ser usada en todas las partes del programa que estemos desarrollando) que va a mostrar en la salida estándar la cadena de texto incluida dentro de los paréntesis seguida de un salto de linea. En XCode veremos el resultado en el panel denominado «consola». Al igual que en el lenguaje de programación C, existe una segunda función denominada print a secas que hace la misma operación pero con la diferencia que no añadirá un salto de linea al final de la cadena de caracteres mostrada.
Esta función también puede imprimir mensajes más complejos de forma parecida a como lo puede hacer la función NSLog incluida en el framework Cocoa. Estos mensajes pueden incluir valores en tiempo de ejecución de variables y constantes. Para ello usaremos la técnica de String Interpolation en el lenguaje Swift.
String Interpolation en Swift
El lenguaje de programación utiliza una tecnica llamada String Interpolation para incluir el nombre de una variable o constante en la cadena de caracteres. De esta manera, en tiempo de ejecución, este nombre de la variable será sustituido por su correspondiente valor. Es por tanto una forma de construir una nueva cadena de caracteres resultante de la mezcla de constantes, variables, literales y expresiones mediante la inclusión de sus valores dentro de esta nueva cadena. Cada elemento que insertemos en la cadena ha de estar incluido entre paréntesis y usar el prefijo barra invertida como podemos apreciar en el siguiente ejemplo:
let multiplicador = 4
let nuevaCadena = »\(multiplicador) veces 2,5 es \(Double(multiplicador) * 2.5)»
println(nuevaCadena)
// La nueva cadena que vemos en la consola es «4 veces 2,5 es 10»
En el ejemplo anterior de string interpolation, el valor de la constante llamada multiplicador es insertado dentro de una nueva cadena de caracteres definida por la constante nuevaCadena con el marcador \(multiplicador). Esté marcador será reemplazado en tiempo de ejecución con el valor 4 cuando la cadena interpolada sea evaluada para crear la nueva cadena.
El valor de multiplicador también forma parte de una expresión más compleja al final de la nueva cadena. Esta expresión calcula el valor de Double(multiplier) * 2.5 e inserta el resultado (10) dentro de la cadena nueva. En este caso, la expresión marcador es \(Double(multiplicador) * 2.5) y al igual que ocurría anteriormente, es reemplazada en tiempo de ejecución. Hay que tener en cuenta que las expresiones que incluyas dentro de una cadena interpolada no pueden contener dobles comillas o barra invertida sin escapar, y no pueden contener retornos de carro o avances de línea.
Espero que te haya parecido interesante este nuevo artículo sobre como usar String Interpolation en Swift y te recomiendo que empieces a usar XCode para practicar todo esto. Te recomiendo que para no perderte mucho también leas el artículo Como usar constantes y variables en Swift de forma básica que, si estás empezando en el mundo de la programación con el lenguaje Swift, también te ayudará.
Nos leemos en el próximo
println («Adiós, os!»)