Трейт scala.App
trait App extends DelayedInit
Значения членов
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- returns
trueесли !(this == that), в противном случае false.
- Definition Classes
- AnyRef → Any
final def ##(): Int
Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для числовых типов возвращает значение хэша, которое соответствует равенству значений: если два экземпляра типа значения сравниваются как true, то ## для каждого из них вернёт одинаковое значение хэша. Для null возвращает хэш-код, где null.hashCode выбросит NullPointerException.
- returns
значение хэша, согласованное с ==
- Definition Classes
- AnyRef → Any
def +(other: String): String
- Неявный
- Этот член добавлен неявным преобразованием из App в any2stringadd[App] при помощи метода any2stringadd в scala.Predef.
- Definition Classes
- any2stringadd
def ->[B](y: B): (App, B)
- Неявный
- Этот член добавлен неявным преобразованием из App в ArrowAssoc[App] при помощи метода 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
- AnyRef → Any
def args: Array[String]
Аргументы командной строки, переданные методу main приложения.
- Attributes
- protected
- Annotations
- @deprecatedOverriding( message = "args should not be overridden" , since = "2.11.0" )
final def asInstanceOf[T0]: T0
Преобразует объект получателя к типу T0.
Обратите внимание, что успех преобразования во время выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, а выражение List(1).asInstanceOf[List[String]] – нет. В последнем примере, так как аргумент типа стирается при компиляции, невозможно проверить, соответствуют ли содержимое списка нужному типу.
- returns
объект получателя.
- Definition Classes
- Any
- Исключения
ClassCastExceptionесли объект получателя не является экземпляром стирания типаT0.
def clone(): AnyRef
Создаёт копию объекта получателя.
По умолчанию метод clone зависит от платформы.
- returns
копия объекта получателя.
def ensuring(cond: (App) ⇒ Boolean, msg: ⇒ Any): App
- Неявный
- Этот член добавлен неявным преобразованием из App в Ensuring[App] при помощи метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: (App) ⇒ Boolean): App
- Неявный
- Этот член добавлен неявным преобразованием из App в Ensuring[App] при помощи метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean, msg: ⇒ Any): App
- Неявный
- Этот член добавлен неявным преобразованием из App в Ensuring[App] при помощи метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean): App
- Неявный
- Этот член добавлен неявным преобразованием из App в Ensuring[App] с помощью метода 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).
- возвращает
trueесли аргумент является ссылкой на объект-получатель;falseв противном случае.
- Классы определения
- AnyRef
def equals(arg0: Any): Boolean
Метод равенства для ссылочных типов. По умолчанию делегирует вызов методу eq.
См. также equals в scala.Any.
- возвращает
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Классы определения
- AnyRef → Any
val executionStart: Long
Время начала выполнения этой программы в миллисекундах с момента 1 января 1970 года по UTC.
- Аннотации
- @deprecatedOverriding( сообщение = ... , с = "2.11.0" )
def finalize(): Unit
Вызывается сборщиком мусора для объекта-получателя, когда больше нет ссылок на этот объект.
Подробности о том, когда и будет ли вызываться метод finalize, а также взаимодействие между finalize и нелокальными возвратами и исключениями, зависят от платформы.
- Атрибуты
- protected[lang]
- Классы определения
- AnyRef
- Аннотации
- @throws( classOf[java.lang.Throwable] )
- Примечание
не указано в SLS как член AnyRef
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с заданной строкой format. Строки форматирования соответствуют String.format (@see java.lang.String.format).
- Неявный
- Этот член добавлен неявным преобразованием из App в StringFormat[App] с помощью метода StringFormat в scala.Predef.
- Классы определения
- StringFormat
- Аннотации
- @inline()
final def getClass(): Class[_]
Возвращает представление класса во время выполнения для объекта.
- возвращает
объект класса, соответствующий типу получателя во время выполнения.
def hashCode(): Int
Метод hashCode для ссылочных типов. См. hashCode в scala.Any.
- возвращает
значение хэш-кода для этого объекта.
final def isInstanceOf[T0]: Boolean
Проверяет, является ли динамический тип объекта-получателя T0.
Обратите внимание, что результат проверки осуществляется с учётом стирания типов в Scala. Таким образом, выражение 1.isInstanceOf[String] вернёт false, в то время как выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, поскольку аргумент типа стирается на этапе компиляции, нельзя проверить, соответствуют ли элементы списка указанному типу.
- возвращает
trueесли объект-получатель является экземпляром стёртого типаT0;falseв противном случае.
- Классы определения
- Any
def main(args: Array[String]): Unit
Метод main. Он хранит все аргументы, чтобы их можно было получить с помощью args, а затем выполняет все сегменты кода инициализации в том порядке, в котором они были переданы в delayedInit.
- args
аргументы, переданные методу main
- Аннотации
- @deprecatedOverriding( сообщение = "main should not be overridden" , с = "2.11.0" )
final def ne(arg0: AnyRef): Boolean
Равносильно !(this eq that).
- returns
trueесли аргумент не является ссылкой на объект-получатель;falseв противном случае.
- Definition Classes
- AnyRef
final def notify(): Unit
Разбуживает единственную нить, ожидавшую монитор объекта-получателя.
- Definition Classes
- AnyRef
- Annotations
- @native()
- Примечание
не указано SLS как член AnyRef
final def notifyAll(): Unit
Разбуживает все нити, ожидающие монитор объекта-получателя.
- Definition Classes
- AnyRef
- Annotations
- @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
def →[B](y: B): (App, B)
- Неявный
- Этот член добавлен неявным преобразованием из App в ArrowAssoc[App] выполненным методом 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/App.html
Трейт
Appможет быть использован для быстрого превращения объектов в исполняемые программы. Вот пример:object Main extends App { Console.println("Hello World: " + (args mkString ", ")) }Здесь объект
Mainнаследует методmainотApp.argsвозвращает текущие аргументы командной строки в виде массива.Предупреждения
Следует отметить, что этот трейт реализован с использованием функциональности DelayedInit, что означает, что поля объекта не будут инициализированы до выполнения метода main.
Также следует отметить, что метод
mainне должен переопределяться: всё тело класса становится «методом main».В будущих версиях этого трейта он больше не будет расширять
DelayedInit.2.1