Packages

  • package root

    This is the documentation for the Scala standard library.

    This is the documentation for the Scala standard library.

    Package structure

    The scala package contains core types like Int, Float, Array or Option which are accessible in all Scala compilation units without explicit qualification or imports.

    Notable packages include:

    Other packages exist. See the complete list on the right.

    Additional parts of the standard library are shipped as separate libraries. These include:

    Automatic imports

    Identifiers in the scala package and the scala.Predef object are always in scope by default.

    Some of these identifiers are type aliases provided as shortcuts to commonly used classes. For example, List is an alias for scala.collection.immutable.List.

    Other aliases refer to classes provided by the underlying platform. For example, on the JVM, String is an alias for java.lang.String.

    Definition Classes
    root
  • package scala

    Core Scala types.

    Core Scala types. They are always available without an explicit import.

    Definition Classes
    root
  • abstract class Enumeration extends Serializable

    Defines a finite set of values specific to the enumeration.

    Defines a finite set of values specific to the enumeration. Typically these values enumerate all possible forms something can take and provide a lightweight alternative to case classes.

    Each call to a Value method adds a new unique value to the enumeration. To be accessible, these values are usually defined as val members of the enumeration.

    All values in an enumeration share a common, unique type defined as the Value type member of the enumeration (Value selected on the stable identifier path of the enumeration instance).

    Values SHOULD NOT be added to an enumeration after its construction; doing so makes the enumeration thread-unsafe. If values are added to an enumeration from multiple threads (in a non-synchronized fashion) after construction, the behavior of the enumeration is undefined.

    Definition Classes
    scala
    Annotations
    @SerialVersionUID()
    Examples:
    1. // Define a new enumeration with a type alias and work with the full set of enumerated values
      object WeekDay extends Enumeration {
        type WeekDay = Value
        val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value
      }
      import WeekDay._
      
      def isWorkingDay(d: WeekDay) = ! (d == Sat || d == Sun)
      
      WeekDay.values filter isWorkingDay foreach println
      // output:
      // Mon
      // Tue
      // Wed
      // Thu
      // Fri
    2. ,
    3. // Example of adding attributes to an enumeration by extending the Enumeration.Val class
      object Planet extends Enumeration {
        protected case class PlanetVal(mass: Double, radius: Double) extends super.Val {
          def surfaceGravity: Double = Planet.G * mass / (radius * radius)
          def surfaceWeight(otherMass: Double): Double = otherMass * surfaceGravity
        }
        import scala.language.implicitConversions
        implicit def valueToPlanetVal(x: Value): PlanetVal = x.asInstanceOf[PlanetVal]
      
        val G: Double = 6.67300E-11
        val Mercury = PlanetVal(3.303e+23, 2.4397e6)
        val Venus   = PlanetVal(4.869e+24, 6.0518e6)
        val Earth   = PlanetVal(5.976e+24, 6.37814e6)
        val Mars    = PlanetVal(6.421e+23, 3.3972e6)
        val Jupiter = PlanetVal(1.9e+27, 7.1492e7)
        val Saturn  = PlanetVal(5.688e+26, 6.0268e7)
        val Uranus  = PlanetVal(8.686e+25, 2.5559e7)
        val Neptune = PlanetVal(1.024e+26, 2.4746e7)
      }
      
      println(Planet.values.filter(_.radius > 7.0e6))
      // output:
      // Planet.ValueSet(Jupiter, Saturn, Uranus, Neptune)
  • Val
  • Value
  • ValueOrdering
  • ValueSet

abstract class Value extends Ordered[Value] with Serializable

The type of the enumerated values.

Annotations
@SerialVersionUID()
Source
Enumeration.scala
Known Subclasses
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Value
  2. Serializable
  3. Ordered
  4. Comparable
  5. AnyRef
  6. Any
Implicitly
  1. by orderingToOrdered
  2. by any2stringadd
  3. by StringFormat
  4. by Ensuring
  5. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Value()

Abstract Value Members

  1. abstract def id: Int

    the id and bit location of this enumeration value

Concrete Value Members

  1. def +(v: Value): ValueSet

    Create a ValueSet which contains this value and another one

  2. def <(that: Value): Boolean

    Returns true if this is less than that

    Returns true if this is less than that

    Definition Classes
    Ordered
  3. def <=(that: Value): Boolean

    Returns true if this is less than or equal to that.

    Returns true if this is less than or equal to that.

    Definition Classes
    Ordered
  4. def >(that: Value): Boolean

    Returns true if this is greater than that.

    Returns true if this is greater than that.

    Definition Classes
    Ordered
  5. def >=(that: Value): Boolean

    Returns true if this is greater than or equal to that.

    Returns true if this is greater than or equal to that.

    Definition Classes
    Ordered
  6. def compare(that: Value): Int

    Result of comparing this with operand that.

    Result of comparing this with operand that.

    Implement this method to determine how instances of A will be sorted.

    Returns x where:

    • x < 0 when this < that
    • x == 0 when this == that
    • x > 0 when this > that
    Definition Classes
    ValueOrdered
  7. def compareTo(that: Value): Int

    Result of comparing this with operand that.

    Result of comparing this with operand that.

    Definition Classes
    Ordered → Comparable
  8. def equals(other: Any): Boolean

    The equality method for reference types.

    The equality method for reference types. Default implementation delegates to eq.

    See also equals in scala.Any.

    returns

    true if the receiver object is equivalent to the argument; false otherwise.

    Definition Classes
    Value → AnyRef → Any
  9. def hashCode(): Int

    The hashCode method for reference types.

    The hashCode method for reference types. See hashCode in scala.Any.

    returns

    the hash code value for this object.

    Definition Classes
    Value → AnyRef → Any

Shadowed Implicit Value Members

  1. def <(that: Value): Boolean

    Returns true if this is less than that

    Returns true if this is less than that

    Implicit
    This member is added by an implicit conversion from Value tomath.Ordered[Value] performed by method orderingToOrdered in scala.math.Ordered.This conversion will take place only if an implicit value of type math.Ordering[Value] is in scope.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (value: math.Ordered[Value]).<(that)
    Definition Classes
    Ordered
  2. def <=(that: Value): Boolean

    Returns true if this is less than or equal to that.

    Returns true if this is less than or equal to that.

    Implicit
    This member is added by an implicit conversion from Value tomath.Ordered[Value] performed by method orderingToOrdered in scala.math.Ordered.This conversion will take place only if an implicit value of type math.Ordering[Value] is in scope.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (value: math.Ordered[Value]).<=(that)
    Definition Classes
    Ordered
  3. def >(that: Value): Boolean

    Returns true if this is greater than that.

    Returns true if this is greater than that.

    Implicit
    This member is added by an implicit conversion from Value tomath.Ordered[Value] performed by method orderingToOrdered in scala.math.Ordered.This conversion will take place only if an implicit value of type math.Ordering[Value] is in scope.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (value: math.Ordered[Value]).>(that)
    Definition Classes
    Ordered
  4. def >=(that: Value): Boolean

    Returns true if this is greater than or equal to that.

    Returns true if this is greater than or equal to that.

    Implicit
    This member is added by an implicit conversion from Value tomath.Ordered[Value] performed by method orderingToOrdered in scala.math.Ordered.This conversion will take place only if an implicit value of type math.Ordering[Value] is in scope.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (value: math.Ordered[Value]).>=(that)
    Definition Classes
    Ordered
  5. def compare(that: Value): Int

    Result of comparing this with operand that.

    Result of comparing this with operand that.

    Implement this method to determine how instances of A will be sorted.

    Returns x where:

    • x < 0 when this < that
    • x == 0 when this == that
    • x > 0 when this > that
    Implicit
    This member is added by an implicit conversion from Value tomath.Ordered[Value] performed by method orderingToOrdered in scala.math.Ordered.This conversion will take place only if an implicit value of type math.Ordering[Value] is in scope.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (value: math.Ordered[Value]).compare(that)
    Definition Classes
    Ordered
  6. def compareTo(that: Value): Int

    Result of comparing this with operand that.

    Result of comparing this with operand that.

    Implicit
    This member is added by an implicit conversion from Value tomath.Ordered[Value] performed by method orderingToOrdered in scala.math.Ordered.This conversion will take place only if an implicit value of type math.Ordering[Value] is in scope.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (value: math.Ordered[Value]).compareTo(that)
    Definition Classes
    Ordered → Comparable