scala

Application

trait Application extends AnyRef

The Application trait can be used to quickly turn objects into executable programs, but is not recommended. Here is an example:

 object Main extends Application {
   Console.println("Hello World!")
 }
 

Here, object Main inherits the main method of Application. The body of the Main object defines the main program. This technique does not work if the main program depends on command-line arguments (which are not accessible with the technique presented here).

It is possible to time the execution of objects that inherit from class Application by setting the global scala.time property. Here is an example for benchmarking object Main:

 java -Dscala.time Main
 

In practice the Application trait has a number of serious pitfalls:

Instead, it is recommended to define a main method explicitly:

 object Main {
   def main(args: Array[String]) {
     //..
   }
 }
 

Inherits

  1. AnyRef
  2. Any

Value Members

  1. def equals(arg0: Any): Boolean

    This method is used to compare the receiver object (this) with the argument object (arg0) for equivalence

  2. val executionStart: Long

    The time when execution of this program started

  3. def hashCode(): Int

    Returns a hash code value for the object

  4. def main(args: Array[String]): Unit

    The default main method

  5. def toString(): String

    Returns a string representation of the object