Volver a la página principal
lunes 14 octubre 2024
4

Cómo usar implicit en Scala

El uso de la palabra clave implicit en Scala permite realizar inyecciones de dependencias automáticas, conversiones automáticas y definir parámetros predeterminados en funciones. Los valores y conversiones marcados como implicit se pueden aplicar sin ser invocados explícitamente, proporcionando flexibilidad y reducción de código repetitivo.

¿Qué es un implicit en Scala?

Un implicit en Scala puede referirse a varias cosas:

  • Valores implícitos: Se inyectan automáticamente cuando se espera un valor de ese tipo.
  • Parámetros implícitos: Son parámetros de funciones que pueden ser resueltos automáticamente si existe un valor implícito disponible en el contexto.
  • Conversión implícita: Permite convertir un tipo de dato en otro de manera automática.

Los implicit facilitan la escritura de código más limpio y reutilizable, aunque deben usarse con cuidado para no sacrificar la legibilidad.

Ejemplos de uso

Valores y parámetros implícitos

implicit val descuento: Double = 0.1

def calcularPrecio(precio: Double)(implicit descuento: Double): Double = {
  precio - (precio * descuento)
}

println(calcularPrecio(100)) // Salida: 90.0 (usa el valor implícito de 0.1)

Conversión implícita

implicit def intToString(x: Int): String = x.toString

val texto: String = 42 // Se convierte automáticamente a "42"
println(texto) // Salida: "42"

Uso de clases implícitas (rich wrappers)

implicit class RichInt(val x: Int) {
  def cuadrado: Int = x * x
}

println(5.cuadrado) // Salida: 25

Referencia

Para más detalles, consulta la documentación oficial de Scala.

Etiquetas:
scala
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer