An enumerations serve the purpose of representing a group of named constants in a programming language. Refer Enumeration (or enum) in C and enum in Java for information on enumerations. Scala provides an Enumeration class which we can extend in order to create our enumerations.
Declaration of enumerations in Scala
Scala
object Main extends Enumeration
{
type Main = Value
val first = Value( "Thriller" )
val second = Value( "Horror" )
val third = Value( "Comedy" )
val fourth = Value( "Romance" )
def main(args : Array[String])
{
println(s "Main Movie Genres = ${Main.values}" )
}
}
|
Output
Main Movie Genres = Movies.ValueSet(Thriller, Horror, Comedy, Romance)
Important points of enum :
- In Scala, there is no enum keyword unlike Java or C.
- Scala provides an Enumeration class which we can extend in order to create our enumerations.
- Every Enumeration constant represents an object of type Enumeration.
- Enumeration values are defined as val members of the evaluation.
- When we extended the Enumeration class, a lot of functions get inherited. ID is one among the them.
- We can iterate the members.
Printing particular element of the enumeration
Scala
object Main extends Enumeration
{
type Main = Value
val first = Value( "Thriller" )
val second = Value( "Horror" )
val third = Value( "Comedy" )
val fourth = Value( "Romance" )
def main(args : Array[String])
{
println(s "The third value = ${Main.third}" )
}
}
|
Output
The third value = Comedy
In above example, Main.third is printing particular element of the enumeration.
Printing default ID of any element in the enumeration
Scala
object Main extends Enumeration
{
type Main = Value
val first = Value( "Thriller" )
val second = Value( "Horror" )
val third = Value( "Comedy" )
val fourth = Value( "Romance" )
def main(args : Array[String])
{
println(s "ID of third = ${Main.third.id}" )
}
}
|
In above example, Main.third.id is printing default ID of any element in the enumeration.
Matching values in enumeration
Scala
object Main extends Enumeration
{
type Main = Value
val first = Value( "Thriller" )
val second = Value( "Horror" )
val third = Value( "Comedy" )
val fourth = Value( "Romance" )
def main(args : Array[String])
{
Main.values.foreach
{
case d if ( d == Main.third ) =>
println(s "Favourite type of Movie = $d" )
case _ => None
}
}
}
|
Output
Favourite type of Movie = Comedy
Changing default IDs of values
The values are printed in the order of the ID set by us.These values of IDs can be any integer .These IDs need not be in any particular order.
Scala
object Main extends Enumeration
{
type Main = Value
val first = Value( 0 , "Thriller" )
val second = Value(- 1 , "Horror" )
val third = Value(- 3 , "Comedy" )
val fourth = Value( 4 , "Romance" )
def main(args : Array[String])
{
println(s " Movie Genres = ${Main.values}" )
}
}
|
Output
Movie Genres = Movies.ValueSet(Comedy, Horror, Thriller, Romance)
Reference: https://www.scala-lang.org/api/current/scala/Enumeration.html
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!
Last Updated :
01 Nov, 2023
Like Article
Save Article