Класс scala.ValueOf
final класс ValueOf[T] extends AnyVal
Конструкторы экземпляров
новый ValueOf(value: T)
Члены-значения
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- returns
trueесли !(this == that), в противном случае false.
- Definition Classes
- Any
final def ##(): Int
Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для числовых типов возвращает значение хеша, которое соответствует равенству значений: если два экземпляра типа значения сравниваются как true, то ## вернёт одинаковое значение хеша для каждого из них. Для null возвращает хеш-код, где null.hashCode вызывает NullPointerException.
- returns
значение хеша, согласованное с ==
- Definition Classes
- Any
def +(other: String): String
- Implicit
- Этот член добавлен неявным преобразованием из ValueOf[T] в any2stringadd[ValueOf[T]] с помощью метода any2stringadd в scala.Predef.
- Definition Classes
- any2stringadd
def ->[B](y: B): (ValueOf[T], B)
- Implicit
- Этот член добавлен неявным преобразованием из ValueOf[T] в ArrowAssoc[ValueOf[T]] с помощью метода ArrowAssoc в scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
final def ==(arg0: Any): Boolean
Проверка двух объектов на равенство. Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).
- returns
trueесли объект-приёмник эквивалентен аргументу;falseв противном случае.
- Definition Classes
- Any
final def asInstanceOf[T0]: T0
Приведение объекта-приёмника к типу T0.
Обратите внимание, что успех приведения во время выполнения обусловлен семантикой стирания Scala. Таким образом, выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, тогда как выражение List(1).asInstanceOf[List[String]] этого не сделает. В последнем примере, поскольку аргумент типа стирается во время компиляции, невозможно проверить, соответствуют ли содержимое списка требуемому типу.
- returns
объект-приёмник.
- Definition Classes
- Any
- Исключения
ClassCastException, если объект-приёмник не является экземпляром стирания типаT0.
def ensuring(cond: (ValueOf[T]) => Boolean, msg: => Any): ValueOf[T]
- Implicit
- Этот член добавлен неявным преобразованием из ValueOf[T] в Ensuring[ValueOf[T]] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: (ValueOf[T]) => Boolean): ValueOf[T]
- Implicit
- Этот член добавлен неявным преобразованием из ValueOf[T] в Ensuring[ValueOf[T]] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean, msg: => Any): ValueOf[T]
- Implicit
- Этот член добавлен неявным преобразованием из ValueOf[T] в Ensuring[ValueOf[T]] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean): ValueOf[T]
- Неявный
- Этот член добавлен неявным преобразованием из ValueOf[T] вEnsuring[ValueOf[T]] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с заданной строкой format. Строки форматирования аналогичны строкам форматирования в String.format (@см. java.lang.String.format).
- Неявный
- Этот член добавлен неявным преобразованием из ValueOf[T] вStringFormat[ValueOf[T]] с помощью метода StringFormat в scala.Predef.
- Определяющие классы
- StringFormat
- Аннотации
- @inline()
def getClass(): Class[_ <: AnyVal]
Возвращает представление класса объекта во время выполнения.
- возвращает
объект класса, соответствующий типу получателя во время выполнения.
final def isInstanceOf[T0]: Boolean
Проверяет, соответствует ли динамический тип объекта получателя T0.
Обратите внимание, что результат проверки учитывает семантику стирания Scala. Таким образом, выражение 1.isInstanceOf[String] вернет false, а выражение List(1).isInstanceOf[List[String]] вернет true. В последнем примере, так как тип аргумента стирается во время компиляции, проверить, содержатся ли элементы списка указанного типа, невозможно.
- возвращает
trueесли объект получателя является экземпляром стёртого типаT0;falseв противном случае.
- Определяющие классы
- Any
def toString(): String
Возвращает строковое представление объекта.
По умолчанию представление зависит от платформы.
- возвращает
строковое представление объекта.
- Определяющие классы
- Any
val value: T
© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala/ValueOf.html
ValueOf[T]предоставляет уникальное значение типаT, гдеT— тип, имеющий единственное значение. Допустимые типы — это одиночные типы формыstablePath.type, Unit и одиночные типы, соответствующие литералам значений.Экземпляры
ValueOf[T]предоставляются неявно для всех допустимых типов. Как правило, экземпляр требуется, когда необходимо получить значение во время выполнения, соответствующее вычислению на уровне типов.Например, мы можем определить тип
Residue[M <: Int], соответствующий группе целых чисел по модулюM. Тогда мы могли бы потребовать, чтобы остатки суммировались только при одинаковом модуле.case class Residue[M <: Int](n: Int) extends AnyVal { def +(rhs: Residue[M])(implicit m: ValueOf[M]): Residue[M] = Residue((this.n + rhs.n) % valueOf[M]) } val fiveModTen = Residue[10](5) val nineModTen = Residue[10](9) fiveModTen + nineModTen // OK == Residue[10](4) val fourModEleven = Residue[11](4) fiveModTen + fourModEleven // compiler error: type mismatch; // found : Residue[11] // required: Residue[10]Обратите внимание, что здесь модуль закодирован в типе значений и не влечёт дополнительных затрат на хранение для каждого значения. Когда в реализации
+требуется значение модуля во время выполнения, оно предоставляется в месте вызова через неявный аргументmтипаValueOf[M].