Трейт scala.Dynamic
trait Dynamic extends Any
Абстрактные члены-значения
abstract def getClass(): Class[_]
Возвращает представление класса объекта во время выполнения.
- returns
объект класса, соответствующий типу получателя во время выполнения.
- Definition Classes
- Any
Члены-значения
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- возвращает
trueесли !(this == that), в противном случае false.
- Классы-определения
- Any
final def ##(): Int
Эквивалентно x.hashCode, за исключением упакованных числовых типов и null. Для числовых типов возвращает значение хэш-кода, соответствующее равенству значений: если два экземпляра типа значения сравниваются как true, то ## вернёт одно и то же значение хэш-кода для каждого из них. Для null возвращает хэш-код, где null.hashCode вызывает NullPointerException.
- возвращает
значение хэш-кода, соответствующее ==
- Классы-определения
- Any
def +(other: String): String
- Неявный
- Этот член добавлен неявным преобразованием из Dynamic в any2stringadd[Dynamic] с помощью метода any2stringadd в scala.Predef.
- Классы-определения
- any2stringadd
def ->[B](y: B): (Dynamic, B)
- Неявный
- Этот член добавлен неявным преобразованием из Dynamic в ArrowAssoc[Dynamic] с помощью метода ArrowAssoc в scala.Predef.
- Классы-определения
- ArrowAssoc
- Аннотации
- @inline()
final def ==(arg0: Any): Boolean
Проверка двух объектов на равенство. Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).
- возвращает
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Классы-определения
- Any
final def asInstanceOf[T0]: T0
Приведение типа объекта-получателя к типу T0.
Обратите внимание, что успех приведения типов во время выполнения происходит в соответствии с семантикой стирания Scala. Поэтому выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] не выбросит. В последнем примере, из-за того, что аргумент типа стирается во время компиляции, невозможно проверить, содержатся ли элементы списка в запрошенном типе.
- возвращает
объект-получатель.
- Классы-определения
- Any
- Исключения
ClassCastException, если объект-получатель не является экземпляром стирания типаT0.
def ensuring(cond: (Dynamic) ⇒ Boolean, msg: ⇒ Any): Dynamic
- Неявный
- Этот член добавлен неявным преобразованием из Dynamic в Ensuring[Dynamic] с помощью метода Ensuring в scala.Predef.
- Классы-определения
- Ensuring
def ensuring(cond: (Dynamic) ⇒ Boolean): Dynamic
- Неявный
- Этот член добавлен неявным преобразованием из Dynamic в Ensuring[Dynamic] с помощью метода Ensuring в scala.Predef.
- Классы-определения
- Ensuring
def ensuring(cond: Boolean, msg: ⇒ Any): Dynamic
- Неявный
- Этот член добавлен неявным преобразованием из Dynamic в Ensuring[Dynamic] с помощью метода Ensuring в scala.Predef.
- Классы-определения
- Ensuring
def ensuring(cond: Boolean): Dynamic
- Неявный
- Этот член добавлен неявным преобразованием из Dynamic в Ensuring[Dynamic] с помощью метода Ensuring в scala.Predef.
- Классы-определения
- Ensuring
def equals(arg0: Any): Boolean
Сравнивает объект-получатель (this) с объектом-аргументом (that) на эквивалентность.
Любая реализация этого метода должна быть отношением эквивалентности:
-
Он является рефлексивным: для любого экземпляра
x типа Any, x.equals(x) должен возвращать true.Он является симметричным: для любых экземпляров x и y типа Any, x.equals(y) должен возвращать true тогда и только тогда, когда y.equals(x) возвращает true.Он является транзитивным: для любых экземпляров x, y, и z типа Any если x.equals(y) возвращает true и y.equals(z) возвращает true, тогда x.equals(z) должен возвращать true.Если вы переопределяете этот метод, вы должны убедиться, что ваша реализация остаётся отношением эквивалентности. Кроме того, при переопределении этого метода обычно необходимо переопределить hashCode, чтобы гарантировать, что объекты, которые «равны» (o1.equals(o2) возвращает true), имеют одинаковые хеш-коды (o1.hashCode.equals(o2.hashCode)).
- returns
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Definition Classes
- Any
def formatted(fmtstr: String): String
Возвращает строку, отформатированную согласно заданной format строке. Строки форматирования аналогичны строкам форматирования String.format (@см. java.lang.String.format).
- Implicit
- Этот член добавлен неявным преобразованием из Dynamic в StringFormat[Dynamic] выполняемого методом StringFormat в scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
def hashCode(): Int
Вычисляет хеш-код объекта.
Алгоритм хеширования по умолчанию зависит от платформы.
Обратите внимание, что для двух объектов допускается иметь идентичные хеш-коды (o1.hashCode.equals(o2.hashCode)) при этом не быть равными (o1.equals(o2) возвращает false). Вырожденная реализация могла бы всегда возвращать 0. Однако, требуется, чтобы если два объекта равны (o1.equals(o2) возвращает true), у них были идентичные хеш-коды (o1.hashCode.equals(o2.hashCode)). Следовательно, при переопределении этого метода, убедитесь, что поведение согласуется с методом equals.
- returns
значение хеш-кода для этого объекта.
- Definition Classes
- Any
final def isInstanceOf[T0]: Boolean
Проверяет, является ли динамический тип объекта-получателя T0.
Обратите внимание, что результат теста зависит от стирания типов Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, в то время как выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, поскольку аргумент типа стирается во время компиляции, проверить, содержат ли элементы списка указанный тип, невозможно.
- returns
trueесли объект-получатель является экземпляром стираемого типаT0;falseв противном случае.
- Definition Classes
- Any
def toString(): String
Возвращает строковое представление объекта.
Представление по умолчанию зависит от платформы.
- returns
строковое представление объекта.
- Definition Classes
- Any
def →[B](y: B): (Dynamic, B)
- Implicit
- Этот член добавлен неявным преобразованием из Dynamic в ArrowAssoc[Dynamic] выполняемого методом ArrowAssoc в scala.Predef.
- Definition Classes
- ArrowAssoc
© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.12.9/scala/Dynamic.html
Маркерный трейт, который позволяет выполнять динамические вызовы. Экземпляры
xэтого трейта позволяют вызывать методыx.meth(args)для произвольных имён методовmethи списков аргументовargs, а также обращаться к полямx.fieldдля произвольных имён полейfield.Если вызов не поддерживается напрямую
x(т.е. если проверка типов завершается неудачно), он переписывается по следующим правилам:foo.method("blah") ~~> foo.applyDynamic("method")("blah") foo.method(x = "blah") ~~> foo.applyDynamicNamed("method")(("x", "blah")) foo.method(x = 1, 2) ~~> foo.applyDynamicNamed("method")(("x", 1), ("", 2)) foo.field ~~> foo.selectDynamic("field") foo.varia = 10 ~~> foo.updateDynamic("varia")(10) foo.arr(10) = 13 ~~> foo.selectDynamic("arr").update(10, 13) foo.arr(10) ~~> foo.applyDynamic("arr")(10)Начиная со Scala 2.10, определение прямых или косвенных подклассов этого трейта возможно только при включенном языкевом
dynamics.