1. Scala-Interpreter mit REPL (Read-Eval-Print

Werbung
Medieninformatik Ba.: PR2 Zug 2 - Programmierung im WS 13/14, Prof. Knabe, 2013-10-09
Aufgabe: Scala-Werkzeuge
Benötigt: Scala-Kommandozeilenwerkzeuge und ScalaIDE gemäß
http://public.beuth-hochschule.de/~knabe/fach/pr2/Veranstaltungshinweise.html, Software
Diese sind im Labor schon installiert.
Wir werden in diesem Semester auch die objektorientiert-funktionale Programmiersprache Scala
kennenlernen. Dazu müssen Sie sich heute in die Scala-Entwicklungswerkzeuge einarbeiten.
1. Scala-Interpreter mit REPL (Read-Eval-Print-Loop)
Rufen Sie in einer Eingabeaufforderung auf: scala↵
Es erscheint eine Aufforderung scala>. Darin geben Sie folgende Befehle ein. Sie werden sofort
ausgeführt und ihr Ergebnis wird angezeigt im Format Name: Typ = Wertdarstellung
Die mit // markierten Erläuterungen brauchen Sie nicht mit einzugeben.
Als Lösung geben Sie ein Protokoll des Ablaufs ab (In der Eingabeaufforderung: Bearbeiten > Alles
Auswählen > Eingabetaste, dann die Zwischenablage in einen Editor einfügen und ausdrucken.)
val n
= 5 //Deklaration eines Wertes ( wie in Java: final int n = 5; )
var sum = 0 //Deklaration einer Variablen ( wie in Java:
int sum = 0; )
for(i <- 1 to n) sum += i //Zählschleife von 1 bis n
sum //Abfrage des Wertes von sum
val studis = List("Hans", "Margarete", "Ivo", "Ina", "Klaus") //Listenkonstruktion
studis.filter(_.length>3).sorted //Lange Elemente herausfiltern und dann sortieren
studis.partition(_.length<=3) //Aufteilen in kurze und lange Elemente
2. Scala-Interpreter mit Skriptdatei
Als Beispiel einer Verwendung von Scala als Skriptsprache schreiben Sie folgende Befehle in die Datei
dir.scala. Sodann rufen Sie dieses Skript wie folgt auf: scala dir.scala
Anders als in Java ist weder eine Klasse noch eine main-Methode nötig. Geben Sie die Ausgabe davon ab.
val dir = new java.io.File(".")
val files = dir.list.sorted
for(f<-files)println(f)
2. ScalaIDE
Starten Sie die ScalaIDE. Mit Window > Show View > Navigator aktivieren Sie den Navigator-View,
eine Explorer-ähnliche Darstellung der Dateihierarchie. Dadrin MausRechts > New > Scala Project.
Angeben Project name: progr2. Ausschalten Use default location. Stattdessen als Location: Z:\
Der Übersicht halber aktivieren: Create separate folders for sources and class files.
2.a) Sodann im Navigator MausRechts > New > Package und angeben ueb01.
Auf dem Knoten ueb01 wählen MausRechts > New > Scala Application mit Namen Main.
Es muss eine rudimentäre Deklaration object Main extends App { } erscheinen.
Dadrin zur Augabe eines Schachbrettmuster eintragen, ausführen und mir vorführen:
for(c <- 'A' to 'H'){
for(i <- 1 to 8) print(c.toString + i + ' ')
println()
}
}
2.b) Auf dem Knoten ueb01 wählen MausRechts > New > Scala Worksheet mit Namen Test.
Dies erfüllt einen Zweck wie die REPL. Alles, was Sie dort eintragen, wird beim nächsten Speichern
ausgeführt mit Ergebnisanzeige. Die Beispiele aus Teilaufgabe 1 dort ausprobieren und mir vorführen.
[/home/knabe/beuth-knabe/Java/pr2/src/01scala-einfach/Aufgabe.odt]
Herunterladen