Spec-Zone.ru › Scala 2.13 Library

Особенность scala.App

trait App extends DelayedInit

Особенность App позволяет быстро превратить объекты в исполняемые программы. Вот пример:

object Main extends App {
  Console.println("Hello World: " + (args mkString ", "))
}

Явного метода main не требуется. Вместо этого, весь тело класса становится «главным методом».

args возвращает текущие аргументы командной строки в виде массива.

Ограничения

Следует отметить, что этот трейт реализован с использованием функциональности DelayedInit, что означает, что поля объекта не будут инициализированы до выполнения главного метода.

Будущие версии этого трейта больше не будут расширять DelayedInit.

Source
App.scala
Since

2.1

Линейные супертипы
DelayedInit, AnyRef, Any

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

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

Implicit
Этот член добавлен неявным преобразованием из App вany2stringadd[App] с помощью метода any2stringadd в scala.Predef.
Definition Classes
any2stringadd

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

Implicit
Этот член добавлен неявным преобразованием из 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

final def args: Array[String]

Аргументы командной строки, переданные в метод main приложения.

Attributes
protected

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

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

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.CloneNotSupportedException]) @native()
Примечание

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

def ensuring(cond: (App) => Boolean, msg: => Any): App

Implicit
Этот член добавлен неявным преобразованием из App вEnsuring[App] с помощью метода Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: (App) => Boolean): App

Implicit
Этот член добавлен неявным преобразованием из App вEnsuring[App] с помощью метода Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: Boolean, msg: => Any): App

Неявный
Этот член добавлен неявным преобразованием из App вEnsuring[App] с помощью метода Ensuring в scala.Predef.
Классы-определения
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: AnyRef): Boolean

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

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

возвращает

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

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

final val executionStart: Long

def finalize(): Unit

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

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

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

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

def formatted(fmtstr: String): String

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

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

final def getClass(): Class[_ <: AnyRef]

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

возвращает

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

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

def hashCode(): Int

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

возвращает

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

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

final def isInstanceOf[T0]: Boolean

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

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

возвращает

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

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

final def main(args: Array[String]): Unit

Основной метод. Он хранит все аргументы, чтобы их можно было получить с помощью args, а затем выполняет все сегменты кода инициализации в том порядке, в котором они были переданы delayedInit.

args

аргументы, переданные в основной метод

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(classOf[java.lang.InterruptedException])

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

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException]) @native()

© 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/App.html

Spec-Zone.ru

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