Spec-Zone.ru › Scala 2.12 Library

Трейт scala.DelayedInit

trait DelayedInit extends AnyRef

Классы и объекты (но не трейты) наследующие от этого DelayedInit трейта, будут иметь код инициализации, переписанный следующим образом: code становится delayedInit(code).

Код инициализации включает в себя все операторы и все определения значений, которые выполняются во время инициализации.

Пример:

trait Helper extends DelayedInit {
  def delayedInit(body: => Unit) = {
    println("dummy text, printed before initialization of C")
    body // evaluates the initialization code of C
  }
}

class C extends Helper {
  println("this is the initialization code of C")
}

object Test extends App {
  val c = new C
}

Что должно привести к выводу:

dummy text, printed before initialization of C
this is the initialization code of C
Аннотации
@deprecated
Устаревший

(Начиная с версии 2.11.0) Семантика DelayedInit может быть неожиданной. Поддержка App будет продолжена. Смотрите заметки к релизу для получения более подробной информации: https://github.com/scala/scala/releases/tag/v2.11.0

Источник
DelayedInit.scala
См. также

"Подраздел отложенной инициализации" в Спецификации языка Scala (раздел 5.1)

Линейные Супертипы
Известные Подклассы

Абстрактные члены

abstract def delayedInit(x: ⇒ Unit): Unit

Члены-значения

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

возвращает

true если !(this == that), иначе false.

Определяющие классы
AnyRef → Any

final def ##(): Int

Эквивалентно x.hashCode, за исключением упакованных числовых типов и null. Для чисел возвращает хеш-значение, соответствующее равенству значений: если два экземпляра типа значения сравниваются как true, то ## вернет одинаковое хеш-значение для каждого из них. Для null возвращает хеш-код, где null.hashCode выбрасывает NullPointerException.

возвращает

хеш-значение, согласованное с ==

Определяющие классы
AnyRef → Any

def +(other: String): String

Неявный
Этот член добавлен неявным преобразованием из DelayedInit в any2stringadd[DelayedInit] с помощью метода any2stringadd в scala.Predef.
Определяющие классы
any2stringadd

def ->[B](y: B): (DelayedInit, B)

Неявный
Этот член добавлен неявным преобразованием из DelayedInit в ArrowAssoc[DelayedInit] с помощью метода 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 в противном случае.

Определяющие классы
AnyRef → Any

final def asInstanceOf[T0]: T0

Привести объект-получатель к типу T0.

Обратите внимание, что успех приведения в ходе выполнения зависит от правил стирания Scala. Поэтому выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] — нет. В последнем примере из-за того, что аргумент типа стирается во время компиляции, проверить, содержат ли элементы списка требуемый тип, невозможно.

возвращает

объект-получатель.

Определяющие классы
Any
Исключения

ClassCastException если объект-получатель не является экземпляром стёртого типа T0.

def clone(): AnyRef

Создать копию объекта-получателя.

По умолчанию реализация метода clone зависит от платформы.

возвращает

копию объекта-получателя.

Атрибуты
protected[lang]
Определяющие классы
AnyRef
Аннотации
@throws( ... ) @native()
Примечание

не указан SLS как член AnyRef

def ensuring(cond: (DelayedInit) ⇒ Boolean, msg: ⇒ Any): DelayedInit

Неявный
Этот член добавлен неявным преобразованием из DelayedInit в Ensuring[DelayedInit] с помощью метода Ensuring в scala.Predef.
Определяющие классы
Ensuring

def ensuring(cond: (DelayedInit) ⇒ Boolean): DelayedInit

Неявный
Этот член добавлен неявным преобразованием из DelayedInit в Ensuring[DelayedInit] с помощью метода Ensuring в scala.Predef.
Определяющие классы
Ensuring

def ensuring(cond: Boolean, msg: ⇒ Any): DelayedInit

Неявный
Этот член добавлен неявным преобразованием из DelayedInit в Ensuring[DelayedInit] с помощью метода Ensuring в scala.Predef.
Определяющие классы
Ensuring

def ensuring(cond: Boolean): DelayedInit

Неявный
Этот член добавлен неявным преобразованием из DelayedInit в Ensuring[DelayedInit] выполняемым методом Ensuring в scala.Predef.
Классы определения
Ensuring

final def eq(arg0: AnyRef): Boolean

Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).

Метод eq реализует отношение эквивалентности на непустых экземплярах AnyRef, и имеет три дополнительных свойства:

    Он согласован: для любых непустых экземпляров x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false. Для любого непустого экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false. null.eq(null) возвращает true.

При переопределении методов equals или hashCode важно обеспечить согласованность их поведения с равенством ссылок. Следовательно, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и должны хэшироваться к одному значению (o1.hashCode == o2.hashCode).

returns

true если аргумент является ссылкой на объект-получатель; false в противном случае.

Классы определения
AnyRef

def equals(arg0: Any): Boolean

Метод равенства для типов ссылок. Реализация по умолчанию делегирует вызов методу eq.

См. также equals в scala.Any.

returns

true если объект-получатель эквивалентен аргументу; false в противном случае.

Классы определения
AnyRef → Any

def finalize(): Unit

Вызывается сборщиком мусора для объекта-получателя, когда к объекту больше нет ссылок.

Подробности о том, когда и если вызывается метод finalize, а также взаимодействие finalize с нелокальными возвратами и исключениями, зависят от платформы.

Атрибуты
protected[lang]
Классы определения
AnyRef
Аннотации
@throws( classOf[java.lang.Throwable] )
Примечание

не определен в SLS как член AnyRef

def formatted(fmtstr: String): String

Возвращает строку, отформатированную в соответствии с данной строкой format. Формат строк аналогичен String.format (@см. java.lang.String.format).

Неявный
Этот член добавлен неявным преобразованием из DelayedInit в StringFormat[DelayedInit] выполняемым методом StringFormat в scala.Predef.
Классы определения
StringFormat
Аннотации
@inline()

final def getClass(): Class[_]

Возвращает представление класса объекта во время выполнения.

returns

объект класса, соответствующий типу получателя во время выполнения.

Классы определения
AnyRef → Any
Аннотации
@native()

def hashCode(): Int

Метод hashCode для типов ссылок. См. hashCode в scala.Any.

returns

значение хэш-кода для этого объекта.

Классы определения
AnyRef → Any
Аннотации
@native()

final def isInstanceOf[T0]: Boolean

Проверяет, соответствует ли динамический тип объекта-получателя типу T0.

Обратите внимание, что результат проверки модулируется семантикой стирания Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, а выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, из-за стирания типа в процессе компиляции, невозможно проверить, соответствуют ли элементы списка указанному типу.

returns

true если объект-получатель является экземпляром стирания типа T0; false в противном случае.

Классы определения
Any

final def ne(arg0: AnyRef): Boolean

Эквивалентно !(this eq that).

returns

true если аргумент не является ссылкой на объект-получатель; false в противном случае.

Классы определения
AnyRef

final def notify(): Unit

Разбуждает один поток, ожидающий монитора объекта-получателя.

Классы определения
AnyRef
Аннотации
@native()
Примечание

не определен в SLS как член AnyRef

final def notifyAll(): Unit

Разбуждает все потоки, ожидающие монитора объекта-получателя.

Классы определения
AnyRef
Аннотации
@native()
Примечание

не определен в SLS как член AnyRef

final def synchronized[T0](arg0: ⇒ T0): T0

Definition Classes
AnyRef

def toString(): String

Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.

returns

строковое представление объекта.

Definition Classes
AnyRef → Any

final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )

final def wait(arg0: Long, arg1: Int): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )

final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws( ... ) @native()

def →[B](y: B): (DelayedInit, B)

Неявный
Этот член добавлен с помощью неявного преобразования из DelayedInit в ArrowAssoc[DelayedInit] с помощью метода 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/DelayedInit.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API