Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto článku se dozvíte, jak strukturovat konzolovou aplikaci jazyka F#.
Implicitní vstupní bod
Ve výchozím nastavení používají aplikace jazyka F# implicitní vstupní bod. Například pro následující program je vstupní bod implicitní a při spuštění programu se kód spustí z prvního řádku na poslední:
open System
let printSomeText() =
let text = "Hello" + "World"
printfn $"text = {text}"
let showCommandLineArgs() =
for arg in Environment.GetCommandLineArgs() do
printfn $"arg = {arg}"
printSomeText()
showCommandLineArgs()
exit 100
Explicitní vstupní bod
Pokud chcete, můžete použít explicitní vstupní bod. Obvykle se to provádí z jednoho nebo všech následujících důvodů:
Chcete raději získat přístup k argumentům příkazového řádku prostřednictvím argumentu předaného funkci místo použití
System.Environment.GetCommandLineArgs().Chcete vrátit kód chyby prostřednictvím návratového výsledku místo použití
exit.Chcete testovat kód v posledním souboru konzolové aplikace.
Následující příklad znázorňuje jednoduchou main funkci s explicitním vstupním bodem.
[<EntryPoint>]
let main args =
printfn "Arguments passed to function : %A" args
// Return 0. This indicates success.
0
Při spuštění tohoto kódu pomocí příkazového řádku EntryPoint.exe 1 2 3je výstup následující.
Arguments passed to function : [|"1"; "2"; "3"|]
Syntaxe
[<EntryPoint>]
let-function-binding
Poznámky
V předchozí syntaxi je let-function-binding definicí funkce v vazbě let .
Vstupním bodem programu, který je zkompilován jako spustitelný soubor, je místo, kde formálně začíná provádění. Vstupní bod aplikace jazyka F# zadáte použitím EntryPoint atributu na funkci programu main . Tato funkce (vytvořená pomocí let vazby) musí být poslední funkcí v posledním zkompilovaném souboru. Poslední zkompilovaný soubor je poslední soubor v projektu nebo poslední soubor, který se předá příkazovému řádku.
Funkce vstupního bodu má typ string array -> int. Argumenty zadané na příkazovém řádku se předávají main funkci v poli řetězců. Prvním prvkem pole je první argument; název spustitelného souboru není součástí pole, protože je v některých jiných jazycích. Návratová hodnota se používá jako ukončovací kód procesu. Nula obvykle značí úspěch; nenulové hodnoty označují chybu. Neexistuje žádná konvence pro zvláštní význam nenulových návratových kódů; významy návratových kódů jsou specifické pro aplikaci.