Typ jednostki (F#)
unit Typ jest typem, który wskazuje brak określonej wartości; unit typu ma tylko jedną wartość, która działa jako symbol zastępczy, gdy inna wartość nie istnieje lub jest potrzebna.
// The value of the unit type.
()
Uwagi
Każdy F# wyrażenie musi zwrócić wartość.Dla wyrażeń, które nie generują wartość, która jest przedmiotem zainteresowania, wartości typu unit jest używana.unit Typu podobny do void typu w językach takich jak C# i C++.
unit Typ ma wartość jednej i tej wartości jest oznaczany tokenu ().
Wartość unit typu jest często używane w F# programowania do miejsca przechowywania, w przypadku gdy wartość jest wymagana przez składnię języka, ale, gdy wartość nie jest potrzebne lub pożądane.Przykładem może być wartość zwracaną przez printf funkcji.Ponieważ ważne działania printf operacji występuje w funkcji, funkcja nie zwraca wartość rzeczywistą.W związku z tym, zwracana jest wartość typu unit.
Niektóre konstrukcje oczekiwać, że unit wartości.Na przykład do powiązania lub dowolnego kodu na najwyższym poziomie moduł oczekuje się do oceny do unit wartości.Kompilator zgłasza ostrzeżenie podczas do powiązania lub kod na najwyższym poziomie moduł daje wyniki inne niż unit wartość, która nie jest używana, jak pokazano w poniższym przykładzie.
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
To ostrzeżenie jest to cecha funkcjonalna programowania; nie są wyświetlane w innych.NET języków programowania.W programie czysto funkcjonalny, w których funkcje nie mają żadnych efektów ubocznych wersja ostateczna wartość zwracana jest tylko wynikiem wywołania funkcji.W związku z tym kiedy wynik jest ignorowana, jest możliwe błąd programistyczny.Chociaż F# nie jest językiem programowania czysto funkcjonalny, jest dobrą praktyką, postępuj zgodnie z funkcjonalności styl programowania, w każdym przypadku, gdy jest to możliwe.