Punto di ingresso (F#)

In questo argomento viene descritto il metodo utilizzato per impostare il punto di ingresso in un programma F#.

[<EntryPoint>]
let-function-binding

Note

Nella sintassi precedente let-function-binding è la definizione di una funzione in un'associazione let.

Il punto di ingresso di un programma compilato come file eseguibile è il punto in cui inizia formalmente l'esecuzione. È possibile specificare il punto di ingresso in un'applicazione F# applicando l'attributo EntryPoint alla funzione main del programma. Questa funzione (creata utilizzando un'associazione let) deve essere l'ultima funzione nell'ultimo file compilato. L'ultimo file compilato è l'ultimo file nel progetto o l'ultimo file passato alla riga di comando.

La funzione del punto di ingresso è di tipo string array -> int. Gli argomenti forniti nella riga di comando vengono passati alla funzione main nella matrice di stringhe. Il primo elemento della matrice è il primo argomento. Il nome del file eseguibile non è incluso nella matrice, come avviene in alcuni altri linguaggi. Il valore restituito viene utilizzato come codice di uscita per il processo. Zero indica in genere un esito positivo, mentre valori diversi da zero indicano un errore. Non vi è alcuna convenzione per il significato specifico dei codici restituiti diversi da zero. I significati dei codici restituiti sono specifici dell'applicazione.

Nell'esempio seguente viene illustrata una funzione main semplice.

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

Quando questo codice viene eseguito con la riga di comando EntryPoint.exe 1 2 3, l'output è il seguente.

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

Punto di ingresso implicito

Quando in un programma non vi è alcun attributo EntryPoint che indica in modo esplicito il punto di ingresso, le associazioni di primo livello nell'ultimo file da compilare vengono utilizzate come punto di ingresso.

Vedere anche

Riferimenti

Funzioni (F#)

Associazioni let (F#)