Sdílet prostřednictvím


Typ jednotky

Typ unit je typ, který označuje nepřítomnost konkrétní hodnoty; unit typ má pouze jednu hodnotu, která funguje jako zástupný symbol, pokud žádná jiná hodnota neexistuje nebo není nutná.

Syntaxe

// The value of the unit type.
()

Poznámky

Každý výraz jazyka F# musí být vyhodnocen jako hodnota. U výrazů, které negenerují hodnotu, která je zajímavá, se použije hodnota typu unit . Typ unit se podobá void typu v jazycích, jako je C# a C++.

Typ unit má jednu hodnotu a tato hodnota je označena tokenem ().

Hodnota unit typu se často používá v programování jazyka F# k uložení místa, kde je hodnota požadovaná syntaxí jazyka, ale pokud není potřeba nebo není požadovaná žádná hodnota. Příkladem může být návratová printf hodnota funkce. Vzhledem k tomu, že k důležitým akcím printf operace dochází ve funkci, nemusí funkce vracet skutečnou hodnotu. Proto je návratová hodnota typu unit.

Některé konstrukce očekávají unit hodnotu. Očekává se například, že do vazba nebo jakýkoli kód na nejvyšší úrovni modulu se vyhodnotí jako unit hodnota. Kompilátor hlásí upozornění, když do vazba nebo kód na nejvyšší úrovni modulu vytvoří jiný výsledek než unit hodnota, která se nepoužívá, jak je znázorněno v následujícím příkladu.

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é pro funkční programování; nezobrazuje se v jiných programovacích jazycích .NET. V čistě funkčním programu, ve kterém funkce nemají žádné vedlejší účinky, je konečná návratová hodnota jediným výsledkem volání funkce. Proto pokud je výsledek ignorován, je to možná programovací chyba. I když jazyk F# není čistě funkční programovací jazyk, je vhodné dodržovat funkční programovací styl, kdykoli je to možné.

Viz také