Typ jednotky (F#)
unit Typ je typ, který označuje konkrétní hodnotu; unit typ má pouze jednu hodnotu, která slouží jako zástupný symbol jiná hodnota existuje, nebo je potřeba.
// The value of the unit type.
()
Poznámky
Každý výraz F# musí být vyhodnocen na hodnotu.Výrazy, které negenerují hodnotu, která je v zájmu hodnotu typu unit se používá.unit Typu se podobá void typu v jazyce C# a C++.
unit Typ má jednu hodnotu a tato hodnota je vyjádřena token ().
Hodnota unit typ se často používá v F# držet místo, kde je vyžadována hodnota syntaxe jazyka, ale žádná hodnota je potřebné nebo potřeby programování.Příkladem může být vrácená hodnota printf funkce.Protože důležité akce printf operaci dojít ve funkci, není nutné vrátit skutečnou hodnotu funkce.Proto je vrácená hodnota je typu unit.
Některé konstrukce očekávat unit hodnotu.Například do vazby nebo jakýkoli kód na nejvyšší úrovni modul očekává vyhodnoceny unit hodnotu.Kompilátor ohlásí varování při do vazby nebo na nejvyšší úrovni modulu kódu vytvoří výsledek než unit hodnotu, která není použita, jak ukazuje následující příklad.
let function1 x y = x + y
// The next line results in a compiler warning.
function1 10 20
// Changing the code to one of the following eliminates the warning.
// Use this when you do want the return value.
let result = function1 10 20
// Use this if you are only calling the function for its side effects,
// and do not want the return value.
function1 10 20 |> ignore
Toto upozornění je charakteristický funkční programování; nezobrazí se v ostatních.NET programovacích jazyků.V plně funkční program, ve kterém funkce nemají žádné vedlejší účinky konečného vrácená hodnota je pouze výsledek volání funkce.Proto když výsledek je ignorován, je možné chyby v programování.Přestože F# není čistě funkční programovací jazyk, je vhodné sledovat funkční programovací styl, kdykoli je to možné.