Megosztás a következőn keresztül:


Egység típusa

A unit típus olyan típus, amely egy adott érték hiányát jelzi; a unit típus csak egyetlen értékkel rendelkezik, amely helyőrzőként működik, ha nincs más érték, vagy nincs szükség rá.

Syntax

// The value of the unit type.
()

Megjegyzések

Minden F#-kifejezésnek értéket kell adnia. Olyan kifejezéseknél, amelyek nem hoznak létre érdekes értéket, a típus unit értékét használja a rendszer. A unit típus a C# és a void C++ nyelvhez hasonló.

A unit típus egyetlen értékkel rendelkezik, és ezt az értéket a jogkivonat ()jelöli.

A típus értékét gyakran használják az unit F#-programozásban annak a helynek a tárolására, ahol az értéket a nyelv szintaxisa megköveteli, de ha nincs szükség vagy nem kíván értéket. Ilyen lehet például egy printf függvény visszatérési értéke. Mivel a művelet fontos műveletei a printf függvényben történnek, a függvénynek nem kell tényleges értéket visszaadnia. Ezért a visszatérési érték típusa .unit

Egyes szerkezetek értéket várnak unit . Például egy do kötés vagy bármely kód a modul legfelső szintjén várhatóan értékként unit lesz kiértékelve. A fordító figyelmeztetést jelenít meg, ha egy do modul legfelső szintjén lévő kötés vagy kód a nem használt értéken kívüli unit eredményt hoz létre, ahogyan az az alábbi példában látható.

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

Ez a figyelmeztetés a funkcionális programozás egyik jellemzője; más .NET-programozási nyelvekben nem jelenik meg. Egy tisztán funkcionális programban, amelyben a függvények nem rendelkeznek mellékhatásokkal, a végső visszatérési érték egy függvényhívás egyetlen eredménye. Ezért az eredmény figyelmen kívül hagyása lehetséges programozási hiba. Bár az F# nem tisztán funkcionális programozási nyelv, célszerű a funkcionális programozási stílust követni, amikor csak lehetséges.

Lásd még