Freigeben über


Einstiegspunkt (F#)

In diesem Thema wird beschrieben, wie Sie den Einstiegspunkt für ein F#-Programm festlegen.

[<EntryPoint>]
let-function-binding

Hinweise

In der vorangehenden Syntax ist let-function-binding die Definition einer Funktion in einer let-Bindung.

Der Einstiegspunkt für ein als ausführbare Datei kompiliertes Programm ist die Position, an der die Ausführung formell begonnen wird. Sie geben den Einstiegspunkt für eine F#-Anwendung an, indem Sie das EntryPoint-Attribut auf die main-Funktion des Programms anwenden. Diese Funktion (mit einer let-Bindung erstellt) muss die letzte Funktion in der letzten kompilierten Datei sein. Die letzte kompilierte Datei ist die letzte Datei im Projekt oder die letzte Datei, die an die Befehlszeile übergeben wird.

Die Einstiegspunktfunktion ist vom Typ string array -> int. Die in der Befehlszeile bereitgestellten Argumente werden im Zeichenfolgenarray an die main-Funktion übergeben. Das erste Element des Arrays ist das erste Argument. Der Name der ausführbaren Datei ist nicht wie in einigen anderen Sprachen im Array enthalten. Der Rückgabewert wird als Exitcode für den Prozess verwendet. 0 (null) gibt normalerweise Erfolg an, Werte ungleich 0 (null) geben einen Fehler an. Es gibt keine Konvention für die spezifische Bedeutung von Rückgabecodes ungleich 0 (null). Die Bedeutung der Rückgabecodes ist anwendungsspezifisch.

Im folgenden Beispiel wird eine einfache main-Funktion veranschaulicht.

[<EntryPoint>]
let main args =
    printfn "Arguments passed to function : %A" args
    // Return 0. This indicates success.
    0

Wenn dieser Code mit der Befehlszeile EntryPoint.exe 1 2 3 ausgeführt wird, lautet die Ausgabe wie folgt.

Arguments passed to function : [|"1"; "2"; "3"|]

Impliziter Einstiegspunkt

Wenn ein Programm kein EntryPoint-Attribut enthält, das den Einstiegspunkt explizit angibt, werden die Bindungen der obersten Ebene in der letzten zu kompilierenden Datei als Einstiegspunkt verwendet.

Siehe auch

Referenz

Funktionen (F#)

let-Bindungen (F#)