Cuando empezamos a trabajar con Scala, una de las herramientas más útiles que podemos aprovechar es su intérprete REPL. Este intérprete nos permite escribir y ejecutar código al instante, sin necesidad de crear archivos fuente ni compilarlos previamente. REPL significa Read, Eval, Print y Loop, es decir, lee lo que escribimos, evalúa la expresión, imprime el resultado y espera a que le demos más instrucciones.
Para abrir el intérprete, simplemente ejecutamos scala en la terminal. Al hacerlo, nos encontraremos con un prompt que nos invita a escribir expresiones para evaluar. Por ejemplo, si escribimos 2 + 2 y pulsamos Enter, el intérprete nos devolverá el resultado 4. Podemos seguir escribiendo más expresiones, como 2 + 3 o 3 * 2, y el intérprete las evaluará una tras otra, manteniéndose activo hasta que decidamos salir.
Una característica interesante que notamos es que el intérprete no solo nos muestra el resultado, sino que también nos indica el tipo de dato que ha inferido para cada expresión. Por ejemplo, si escribimos "hola", nos mostrará que es un String, y si escribimos 2.0, nos indicará que es un Double. Esto es gracias a la inferencia de tipos de Scala, que es capaz de deducir el tipo de una expresión sin que tengamos que especificarlo explícitamente. Esta capacidad es especialmente valiosa cuando trabajamos con objetos más complejos, ya que reduce la verbosidad del código y facilita la escritura.
Además de evaluar expresiones simples, podemos llamar a funciones directamente desde el intérprete. Por ejemplo, la función println está disponible sin necesidad de importar nada, lo que nos permite imprimir mensajes en pantalla de forma sencilla. Para mostrar un clásico Hola mundo, basta con escribir:
println("Hola mundo")
No es necesario escribir System.out.println como en Java, ya que Scala incluye estas funciones de impresión como parte del lenguaje. También podemos usar print o printf para imprimir sin salto de línea o con formato, respectivamente.
Otra ventaja del intérprete REPL es que podemos probar fragmentos de código rápidamente, lo que resulta muy útil cuando estamos desarrollando funciones o experimentando con nuevas ideas. En lugar de escribir un archivo completo, compilarlo y ejecutarlo, podemos validar pequeñas partes en el intérprete hasta que funcionen como queremos. Luego, simplemente copiamos ese código al archivo fuente para integrarlo en nuestro proyecto.
Aunque el intérprete es ideal para pruebas rápidas y aprendizaje, para proyectos más serios y estructurados seguiremos utilizando archivos de código fuente y compilación tradicional. Sin embargo, para comenzar a familiarizarnos con Scala y entender sus conceptos básicos, el REPL es una herramienta insustituible.
En próximos pasos, exploraremos cómo declarar variables y funciones dentro del intérprete, lo que nos permitirá construir programas más complejos y aprovechar al máximo las capacidades de Scala. Por ahora, jugar con expresiones, tipos y funciones básicas como println nos da una base sólida para avanzar.