Eine Einführung in F (Teil 2)
Kommentare

Ihr erstes F#-Programm
Für die erste F#-Anwendung steuern Sie als routinierter C#- oder VB-Entwickler wahrscheinlich direkt das Projektauswahlmenü von Visual Studio an und wählen das Template „F# Application“

Ihr erstes F#-Programm

Für die erste F#-Anwendung steuern Sie als routinierter C#- oder VB-Entwickler wahrscheinlich direkt das Projektauswahlmenü von Visual Studio an und wählen das Template „F# Application“ aus. Ein Doppelklick und schon wird eine F#-Projektmappe mit einer Startdatei (Programm.fs) erstellt. Kein Unterschied also zu C# bzw. VB festzustellen. Das ist jedoch nicht der schnellste und einfachste Weg, ein F#-Programm zu schreiben. F# wird mit dem Tool „F# Interactive“ ausgeliefert. Dieses existiert fast gleichberechtigt neben dem F# Compiler. Tatsächlich werden Sie es sehr oft verwenden, da dieses Tool auch als Toolfenster in Visual Studio integriert ist (Abb. 3). Während Sie F#-Code schreiben, können Sie diesen über die Tastenkombination ALT+ENTER oder über das Kontextmenü an F# Interactive senden. Die Ergebnisse sehen Sie dann im Toolfenster. Es muss also nicht das gesamte Programm kompiliert werden, damit Sie erkennen können, ob Ihr Code so funktioniert, wie Sie es sich gedacht haben.

Abb. 3: F# Interactive als Toolfenster in Visual Studio
Abb. 3: F# Interactive als Toolfenster in Visual Studio

Sie können aber auch „F# Interactive“ standalone verwenden (Abb. 4). F# Interactive ist ein so genanntes REPL-Tool (Read Eval Print Loop). Dieses Programm läuft in einer Schleife und nimmt Ihre Anweisungen entgegen. Diese werden dann ausgewertet und als Echo wieder auf dem Bildschirm ausgegeben. Danach wird die nächste Anweisung erwartet. Die Anweisungen werden hierbei jedoch nicht interpretiert, sondern kompiliert.

Abb. 4: F# Interactive als REPL-Tool
Abb. 4: F# Interactive als REPL-Tool

Mit F# Interactive können Sie also direkt drauflos programmieren. Jede Anweisung muss dabei mit ;; abgeschlossen sein. Dies ist kein Sprachfeature wie das Semikolon zum Beenden eines C# Statements. Es ist stattdessen eine Anweisung für F# Interaktive selbst, um die nächste Anweisung entgegennehmen zu können. So können auch Anweisungen über mehrere Zeilen hinweg formuliert und dann durch ;; abgeschlossen werden. Das Besondere am Tooling von F#, gegenüber anderen .NET-Programmiersprachen ist, dass es möglich ist, F#-Programme als Script laufen zu lassen. F# Interactive ist also nicht als Übungstool gedacht, um nach und nach F# zu lernen, sondern als Script Engine für F#-Code. Diese Möglichkeit werden viele .NET-Entwickler begrüßen, da Scripting mit C# nicht möglich ist. Abbildung 5 zeigt, wie ein F# Script (Dateiendung fsx) mit F# Interactive ausgeführt werden kann.

Abb. 5: F# kann auch Scripts ausführen
Abb. 5: F# kann auch Scripts ausführen
Hello, F#

Nun sind Sie bereit, Ihre ersten Zeilen F#-Code zu schreiben. Es ist Brauch, eine neue Programmiersprache mit Hello World zu begrüßen. Wenn Sie das Beispiel ausprobieren möchten, starten Sie F# Interactive über Program FilesMicrosoft F#v.40fsi.exe für Visual Studio 2010 und .NET 4.0 oder …v.20fsi.exe für Visual Studio 2008 und .NET 2.0-3.5. Sie können auch einfach eine Textdatei öffnen, diese mit der Endung .fsx versehen und das Skript an F# Interactive senden (Abb. 5). Natürlich können Sie auch einfach wie gewohnt Visual Studio verwenden. Das bleibt Ihnen überlassen.

Jetzt gehts also los: „Hello World!“ (Denken Sie bei Eingabe des Codes in F# Interactive an die abschließenden ;;. Da diese für regulären F#-Code nicht notwendig sind, werden sie hier weggelassen): printfn „Hello, World“. Das war also unser erstes F#-Programm. Als Bestätigung erhalten wir von F# Interactive folgende Ausgabe:

Hello, World val it : unit = ()

Die Funktion printfn gibt den Text auf der Console aus. Da F# eine Sprache für .NET ist, können Sie natürlich auch Funktionen aus dem Framework aufrufen, z. B. Console.WriteLine: System.Console.WriteLine „Hello, World“. Es ist kein Unterschied zu printfn festzustellen, auch hier wird von F# Interactive die gleiche Bestätigung ausgegeben. Eine Sache wird Ihnen aber schon aufgefallen sein. In F# werden Parameter an Funktionen nicht in Klammern gesetzt. Und mehrere Parameter werden nicht per Komma getrennt. Wie man im folgenden Beispiel sieht: printfn „Hello, %s“ „World“. Printfn nimmt hier nun zwei Parameter entgegen, einen Format-String und den Wert, der eingesetzt werden soll. Es gibt keine Klammern und kein Komma, das die Parameter trennt.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -