Uso del REPL
Scala interactiva
Uso del REPL es una lección gratuita de Scala for Backend Engineering & Functional Programming en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Scala for Backend Engineering & Functional Programming, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Scala for Backend Engineering & Functional Programming incluye 4 lecciones en total.
¿Qué es el REPL?
REPL significa Read-Eval-Print Loop. Es un shell interactivo en el que escribe expresiones de Scala y ve inmediatamente sus resultados.
Puede iniciarlo ejecutando scala (o scala-cli repl) en el terminal. Es la forma más rápida de experimentar con el lenguaje sin escribir un programa completo.
Su primera expresión
Escriba cualquier expresión y pulse Enter. El REPL la evalúa e imprime el resultado, su tipo y un nombre generado.
Por ejemplo, al escribir 1 + 1 se muestra algo como val res0: Int = 2.
object Main {
def main(args: Array[String]): Unit = {
println(1 + 1)
}
}Variables res
Cada resultado que calcula se guarda automáticamente en una variable llamada resN (res0, res1, ...).
Puede reutilizar estos nombres en expresiones posteriores, lo que hace que el REPL se comporte como una calculadora en funcionamiento.
object Main {
def main(args: Array[String]): Unit = {
val res0 = 2 + 3
val res1 = res0 * 10
println(res1)
}
}Información de tipos
Una de las funciones más útiles es que el REPL le indica el tipo de cada resultado.
Al escribir "hello", se imprime val res0: String = hello. Esto le ayuda a aprender qué tipo infiere Scala para cualquier expresión.
object Main {
def main(args: Array[String]): Unit = {
val greeting = "hello"
println(greeting)
}
}Definir valores
Puede definir valores con nombre dentro del REPL utilizando val. Estos permanecen disponibles durante el resto de la sesión.
Una vez definidos, puede hacer referencia a ellos en cualquier línea posterior.
object Main {
def main(args: Array[String]): Unit = {
val pi = 3.14159
val radius = 2.0
println(pi * radius * radius)
}
}Definir funciones
No está limitado a expresiones de una sola línea. Puede definir funciones directamente en el REPL y llamarlas de inmediato.
Esto le permite crear pequeños auxiliares y probarlos al instante.
object Main {
def square(x: Int): Int = x * x
def main(args: Array[String]): Unit = {
println(square(5))
}
}Entrada multilínea
Si escribe algo incompleto (como una llave de apertura), el REPL muestra un indicador de continuación y espera el resto.
Esto significa que puede pegar o escribir definiciones multilínea de forma natural, sin que el REPL intente evaluarlas demasiado pronto.
object Main {
def main(args: Array[String]): Unit = {
val total =
1 +
2 +
3
println(total)
}
}Importar en el REPL
Puede hacer import de cualquier elemento dentro del REPL, igual que en un archivo. Esto resulta útil para incorporar funciones auxiliares de la biblioteca estándar.
Por ejemplo, import scala.math.* le proporciona sqrt, abs y otras funciones.
import scala.math.sqrt
object Main {
def main(args: Array[String]): Unit = {
println(sqrt(16.0))
}
}Comandos útiles del REPL
El REPL tiene comandos especiales que comienzan con dos puntos:
:helpmuestra todos los comandos:resetborra su sesión:quitsale del REPL:type exprmuestra el tipo de una expresión sin ejecutarla
¿Por qué utilizar el REPL?
El REPL es perfecto para:
- Probar rápidamente una API que no conoce
- Comprobar qué tipo produce una expresión
- Crear prototipos de lógica antes de añadirla a un proyecto
- Aprender el lenguaje de forma interactiva
Combinar todos los conceptos
En una sola sesión puede definir valores, escribir funciones, importar bibliotecas y encadenar resultados. El REPL mantiene todo ello dentro del ámbito.
A continuación se muestra un pequeño ejemplo que podría crear línea a línea.
object Main {
def celsiusToF(c: Double): Double = c * 9 / 5 + 32
def main(args: Array[String]): Unit = {
val temps = List(0.0, 25.0, 100.0)
println(temps.map(celsiusToF))
}
}Comprobación rápida
Compruebe sus conocimientos sobre el REPL de Scala.
Resumen
Ha aprendido que el REPL es un bucle interactivo de lectura, evaluación e impresión para Scala.
- Imprime el valor, el tipo y un nombre
resNautomático para cada resultado - Puede definir
vales y funciones que persisten durante la sesión - Puede
importar bibliotecas y utilizar entradas de varias líneas - Comandos como
:type,:resety:quitcontrolan la sesión
Preguntas frecuentes
¿La lección «Uso del REPL» es gratis?
Sí — el texto completo de «Uso del REPL» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Scala for Backend Engineering & Functional Programming, actualiza a CoddyKit PRO. El curso de Scala for Backend Engineering & Functional Programming incluye 4 lecciones en total.
¿Qué aprenderé en «Uso del REPL»?
Scala interactiva Practicas Scala for Backend Engineering & Functional Programming con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Scala for Backend Engineering & Functional Programming?
No se requiere experiencia previa. Scala for Backend Engineering & Functional Programming en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Uso del REPL»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Scala for Backend Engineering & Functional Programming?
Sí. Cada lección de Scala for Backend Engineering & Functional Programming incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.