Scala Language Ciao mondo definendo un metodo "principale"


Esempio

Inserisci questo codice in un file denominato HelloWorld.scala :

object Hello {
  def main(args: Array[String]): Unit = {
    println("Hello World!")
  }
}

Dimostrazione dal vivo

Per compilarlo in bytecode eseguibile da JVM:

$ scalac HelloWorld.scala

Per eseguirlo:

$ scala Hello

Quando il runtime di Scala carica il programma, cerca un oggetto chiamato Hello con un metodo main . Il metodo main è il punto di ingresso del programma ed è eseguito.

Nota che, diversamente da Java, Scala non ha bisogno di nominare oggetti o classi dopo il file in cui si trovano. Invece, il parametro Hello passato nel comando scala Hello riferisce all'oggetto da cercare che contiene il metodo main da eseguire. È perfettamente possibile avere più oggetti con i metodi principali nello stesso file .scala .

L'array args conterrà gli argomenti della riga di comando dati al programma, se presenti. Ad esempio, possiamo modificare il programma in questo modo:

object HelloWorld {
  def main(args: Array[String]): Unit = {
    println("Hello World!")
    for {
      arg <- args
    } println(s"Arg=$arg")
  }
}

Compilalo:

$ scalac HelloWorld.scala

E poi eseguirlo:

$ scala HelloWorld 1 2 3
Hello World!
Arg=1
Arg=2
Arg=3