Las enumeraciones sirven para representar un grupo de constantes con nombre en un lenguaje de programación. Consulte Enumeración (o enumeración) en C y enumeración en Java para obtener información sobre enumeraciones. Scala proporciona una clase de enumeración que podemos extender para crear nuestras enumeraciones.
Declaración de enumeraciones en Scala
Scala
// A simple scala program of enumeration // Creating enumeration object Main extends Enumeration { type Main = Value // Assigning values val first = Value("Thriller") val second = Value("Horror") val third = Value("Comedy") val fourth = Value("Romance") // Main method def main(args: Array[String]) { println(s"Main Movie Genres = ${Main.values}") } }
Main Movie Genres = Movies.ValueSet(Thriller, Horror, Comedy, Romance)
Puntos importantes de enumeración:
- En Scala, no hay una palabra clave de enumeración a diferencia de Java o C.
- Scala proporciona una clase de enumeración que podemos extender para crear nuestras enumeraciones.
- Cada constante de enumeración representa un objeto de tipo enumeración.
- Los valores de enumeración se definen como miembros val de la evaluación.
- Cuando extendimos la clase Enumeración, se heredan muchas funciones. ID es uno entre ellos.
- Podemos iterar los miembros.
Imprimir un elemento particular de la enumeración
Scala
// Scala program Printing particular // element of the enumeration // Creating enumeration object Main extends Enumeration { type Main = Value // Assigning values val first = Value("Thriller") val second = Value("Horror") val third = Value("Comedy") val fourth = Value("Romance") // Main method def main(args: Array[String]) { println(s"The third value = ${Main.third}") } }
The third value = Comedy
En el ejemplo anterior, Main.third está imprimiendo un elemento particular de la enumeración.
Imprimir ID predeterminado de cualquier elemento en la enumeración
Scala
// Scala program Printing default ID of // any element in the enumeration // Creating Enumeration object Main extends Enumeration { type Main = Value // Assigning Values val first = Value("Thriller") // ID = 0 val second = Value("Horror") // ID = 1 val third = Value("Comedy") // ID = 2 val fourth = Value("Romance") // ID = 3 // Main Method def main(args: Array[String]) { println(s"ID of third = ${Main.third.id}") } }
ID of third = 2
En el ejemplo anterior, Main.third.id está imprimiendo la identificación predeterminada de cualquier elemento en la enumeración.
Valores coincidentes en la enumeración
Scala
// Scala program of Matching values in enumeration // Creating Enumeration object Main extends Enumeration { type Main = Value // Assigning Values val first = Value("Thriller") val second = Value("Horror") val third = Value("Comedy") val fourth = Value("Romance") // Main Method def main(args: Array[String]) { Main.values.foreach { // Matching values in Enumeration case d if ( d == Main.third ) => println(s"Favourite type of Movie = $d") case _ => None } } }
Favourite type of Movie = Comedy
Cambiar los ID predeterminados de los valores
Los valores se imprimen en el orden del ID establecido por nosotros. Estos valores de ID pueden ser cualquier número entero. No es necesario que estos ID estén en ningún orden en particular.
Scala
// Scala program of Changing // default IDs of values // Creating Enumeration object Main extends Enumeration { type Main = Value // Assigning Values val first = Value(0, "Thriller") val second = Value(-1, "Horror") val third = Value(-3, "Comedy") val fourth = Value(4, "Romance") // Main Method def main(args: Array[String]) { println(s" Movie Genres = ${Main.values}") } }
Movie Genres = Movies.ValueSet(Comedy, Horror, Thriller, Romance)
Referencia: https://www.scala-lang.org/api/current/scala/Enumeration.html
Publicación traducida automáticamente
Artículo escrito por AbhijeetSridhar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA