Scala Language Hola mundo extendiendo la aplicación


Ejemplo

object HelloWorld extends App {
  println("Hello, world!")
}

Demo en vivo

Al extender el rasgo de la App , puede evitar definir un método main explícito. Todo el cuerpo del objeto HelloWorld se trata como "el método principal".

2.11.0

Inicialización retrasada

Según la documentación oficial , la App hace uso de una función llamada Inicialización diferida . Esto significa que los campos de objeto se inicializan después de llamar al método principal.

2.11.0

Inicialización retrasada

Según la documentación oficial , la App hace uso de una función llamada Inicialización diferida . Esto significa que los campos de objeto se inicializan después de llamar al método principal.

DelayedInit ahora está en desuso para uso general, pero todavía es compatible con la App como un caso especial. El soporte continuará hasta que se decida e implemente una función de reemplazo.

Para acceder a los argumentos de la línea de comandos al extender la App , use this.args :

object HelloWorld extends App {
  println("Hello World!")
  for {
    arg <- this.args
  } println(s"Arg=$arg")
}

Al usar la App , el cuerpo del objeto se ejecutará como el método main , no hay necesidad de anular main .