Enumeración en Scala

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}")
    }
}
Producción: 

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}")
    }
}
Producción: 

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}")
    }
}
Producción: 

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
        }
    }
}
Producción: 

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}")
    }
}
Producción: 

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *