Hello world!
- Einstieg
- Scala-Interpreter: Hello world!
- Scala-Skript: Hello world!
- Programm: Hello world!
- App Trait
Stand: 7. August 2019
Scala-Version: 2.13.0
Getestet: Ubuntu 18.04.2 LTS (7. August 2019)
Einstieg
Die Programmiersprache Scala bietet mehrere Möglichkeiten eines "Hello world!"-Programms. Aus den Möglichkeiten gehen auch einige Möglichkeiten im Zusammenhang mit der Programmiersprache Scala hervor: Scala-Interpreter, Scala-Skripte und kompilierte Scala-Programme.
Scala-Interpreter: Hello world!
Um das "Hello world!" mit dem Scala-Interpreter auszuführen
muss der Scala-Interpreter an der Eingabeaufforderung (Shell, Dos-Box, ...)
mit dem Befehl scala
gestartet werden. Nachdem der Scala-Interpreter
gestartet wurde, ist an dessen Eingabeaufforderung der Befehl
scala> println("Hello world!")
abzusetzen. Als Antwort erscheint umgehend die Begrüßung
Hello world!
Die Zeichenkette "scala>
" steht für die Eingabeaufforderung
des Scala-Interpreters. Der Scala-Interpreter kann mit dem Befehl exit
beendet werden.
Scala-Skript: Hello world!
Um ein "Hello world! Skript" auszuführen, erstellen Sie eine
Textdatei mit dem Namen HelloWorld.scala
. Der Inhalt der Datei
sollte (der bereits bekannte Befehl)
println("Hello world!")
sein. Um das Skript auszuführen, öffnen Sie eine Eingabeaufforderung und wechseln in das Verzeichnis der Skript-Datei. Der folgende Befehl führt das Skript aus (das "$"-Zeichen steht für die Eingabeaufforderung):
$ scala HelloWorld.scala
Als Ergebnis sollte wie erwartet die Begrüßung Hello world!
erscheinen.
Programm: Hello world!
Wie in Java lassen sich Scala-Anwendungen auch in Bytecode kompilieren und ausführen. Für ein "Hello wold! Programm gehen Sie folgendermaßen vor. Zunächst erzeugen Sie eine Textdatei mit dem Namen "HelloWorld2.scala" in einem Order Ihrer Wahl. Geben Sie in dieser Datei folgenden Scala-Quelltext ein:
object HelloWorld2 { def main(args: Array[String]): Unit = { println("Hello world !") } }
Öffnen Sie nun eine Eingabeaufforderung und kompilieren Sie das Programm mithilfe des Befehls
$ scalac HelloWorld2.scala
Durch diesen Befehl wird das Programm in Bytecode übersetzt. Nachdem das Programm übersetzt ist, kann das Programm von der Eingabeaufforderung mit dem Befehl
$ scala HelloWorld2
gestartet werden. Als Ergebnis erscheint wie erwartet wieder die Begrüßung "Hello world!".
App Trait
Zum Verständnis dieses Abschnittes ist es nicht notwendig, genau zu wissen, was ein Trait ist. Für Java Programmierer sollte folgende Erklärung an dieser Stelle ausreichen: Ein Trait ist vergleichbar mit Java-Interfaces, in denen Methoden auch ausprogrammiert werden können, was wiederum zu einer Ähnlichkeit mit abstrakten Klassen führt.
Erweitert ein Scala-Objekt das App
Trait, ist das entsprechende
Objekt ein Einstiegspunkt (ähnlich einer main-Methode) zu einem kompilierten
Programm. Die main-Methode braucht in diesem Fall nicht ausprogrammiert zu werden.
Den Inhalt, der normalerweise in der main-Methode definiert ist, geben wir
einfach im Rumpf der Klasse an.
object AppTrait extends App{ println("Hello world, from App Trait!") }
Kompilieren können wir das Programm mit (sofern auch der Dateiname "AppTrait" ist):
scalac AppTrait.scala
Die Ausführung erfolgt mit:
scala AppTrait
was zur Ausgabe von
Hello world, from App Trait!
führt.
Der von Scala angebotene Application
Trait war in früheren Scala Versionen für die gleiche Aufgabe
gedacht, ist jedoch mittlerweile als deprecated gekennzeichnet und sollte nicht mehr verwendet werden.