Volver a la página principal
martes 19 noviembre 2024
13

Cómo declarar constantes en Scala

En Scala, las constantes son valores inmutables que no cambian durante la ejecución del programa. Para declararlas, se utiliza la palabra clave val, que define variables inmutables. Además, las constantes suelen estar en mayúsculas por convención para indicar que su valor no debe cambiar.

Declarar constantes con val

La palabra clave val se utiliza para declarar valores inmutables en Scala. Una vez asignado un valor a una constante, no puede ser modificado.

Sintaxis:

val NOMBRE_CONSTANTE: Tipo = valor
  • val: Declara una variable inmutable.
  • NOMBRE_CONSTANTE: Por convención, se escribe en mayúsculas con guiones bajos para constantes globales.
  • Tipo: Especifica el tipo de dato (opcional si el tipo puede inferirse).
  • valor: El valor asignado a la constante.

Ejemplo:

val PI: Double = 3.1416
val MAX_USERS: Int = 1000

object Main extends App {
  println(s"El valor de PI es: $PI")
  println(s"Máximo número de usuarios: $MAX_USERS")
}

Salida:

El valor de PI es: 3.1416
Máximo número de usuarios: 1000

Declarar constantes en objetos

En Scala, puedes agrupar constantes relacionadas dentro de un objeto. Esto organiza mejor el código y permite un acceso más limpio a las constantes.

Ejemplo:

object Constants {
  val APP_NAME: String = "MiAplicación"
  val VERSION: String = "1.0.0"
}

object Main extends App {
  println(s"Nombre de la aplicación: ${Constants.APP_NAME}")
  println(s"Versión: ${Constants.VERSION}")
}

Salida:

Nombre de la aplicación: MiAplicación
Versión: 1.0.0

Declarar constantes en clases con final

En una clase, puedes declarar constantes utilizando val y marcándolas como final para asegurar que no puedan ser sobreescritas por las subclases.

Ejemplo:

class Config {
  final val TIMEOUT: Int = 5000
  final val BASE_URL: String = "https://api.example.com"
}

object Main extends App {
  val config = new Config
  println(s"Timeout: ${config.TIMEOUT} ms")
  println(s"Base URL: ${config.BASE_URL}")
}

Declarar constantes con sealed traits (enumeraciones)

Para listas de constantes relacionadas, como enumeraciones, puedes usar sealed traits y case objects.

Ejemplo:

sealed trait Color
object Color {
  case object Red extends Color
  case object Green extends Color
  case object Blue extends Color
}

object Main extends App {
  val favoriteColor: Color = Color.Green
  println(s"Color favorito: $favoriteColor")
}

Buenas prácticas al declarar constantes en Scala

1. Usa val para todas las constantes.

2. Organiza las constantes en objetos cuando sean relacionadas.

3. Usa nombres en mayúsculas con guiones bajos para constantes globales.

4. Prefiere objetos singleton (object) para agrupar configuraciones o valores inmutables.

Resumen

Método Uso Ejemplo
val Declarar constantes básicas. val PI: Double = 3.1416
object Agrupar constantes relacionadas. object Constants { val APP_NAME = ... }
final en clases Constantes dentro de clases, no heredables. final val TIMEOUT = 5000
sealed traits Definir listas de constantes relacionadas. sealed trait Color { case object ... }

Referencia oficial

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

Etiquetas:
scala
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer