Wartości (F#)

Wartości F# są ilości, które mają określonego typu; wartości mogą być numery integralną lub ruchomy punkt, znaków lub tekst, list, sekwencji, tablice, krotek, związki dyskryminowanych, rekordy, typy klas lub wartości funkcji.

Wiązanie wartości

Określenie wiązania oznacza skojarzenie nazwy z definicji.let Słowa kluczowego wiąże wartości, jak w poniższych przykładach:

let a = 1
let b = 100u
let str = "text" 

// A function value binding. 

let f x = x + 1

Typ wartości jest wywnioskować z definicji.Typ pierwotny typu, takie jak numer integralną lub ruchomy punkt określana jest od typu literał.Zatem w poprzednim przykładzie kompilator ustala typ b za unsigned int, dlatego kompilator ustala typ a za int.Typ wartości funkcji zależy od zwracanej wartości w treści funkcji.Aby uzyskać więcej informacji na temat typów wartości funkcji, zobacz Funkcje (F#).Aby uzyskać więcej informacji na temat typów literału zobacz Literały (F#).

Dlaczego niezmienne?

Wartościami niezmiennymi są wartościami, które nie mogą być zmieniane w trakcie wykonywania programu.Jeśli użyto do języków, takich jak C++, Visual Basic lub języka C#, mogą znaleźć Zaskakujące, że F# umieszcza pierwszeństwo nad wartościami niezmiennymi zamiast zmiennych, które mogą być przypisane nowych wartości podczas wykonywania programu.Niezmienne danych jest ważnym elementem programowania funkcjonalności.W środowisku wielowątkowym udostępnionego tych zmiennych, które mogą być zmieniane przez wiele różnych wątków są trudne do zarządzania.Ponadto z tych zmiennych, może czasami być trudno stwierdzić, jeśli zmienna może być zmieniana, gdy jest przekazywany do innej funkcji.

W czystych językach funkcjonalności nie istnieją żadne zmienne i funkcje ściśle zachowują się jak wykresy matematycznych funkcji.W przypadku, gdy kod w procedurach języka używa przypisanie zmiennej do zmiany wartości, równoważny kod w języku funkcjonalności ma wartość niezmienne, która jest dane wejściowe, funkcję niezmienne i różnych wartościami niezmiennymi jako dane wyjściowe.To matematyczne czuwanie pozwala na ściślejszą uzasadnienie dotyczące zachowania programu.Ściślejsza uzasadnienie jest, co umożliwia kompilatory dokładniej sprawdzić kod i bardziej efektywnie optymalizować i pomaga ułatwić deweloperom zrozumieć i zapisywać poprawny kod.Kod funkcjonalności jest zatem może być łatwiejsze do debugowania niż zwykłe Kodeksu postępowania.

F# nie jest czystego języka funkcjonalnych jeszcze w pełni obsługuje programowanie funkcjonalne.Używanie wartościami niezmiennymi jest dobrą praktyką, ponieważ w ten sposób pozwala swój kod, aby korzystać z ważnym aspektem programowania funkcjonalności.

Tych zmiennych.

Można użyć słowa kluczowego mutable określenie zmiennej, która może być zmieniane.Tych zmiennych w F# zazwyczaj mają ograniczony zakres jako pole typu lub jako wartość lokalnego.Ograniczony zakres tych zmienne są łatwiejsze do kontroli i mniej mogą być modyfikowane w sposób niepoprawny.

Początkowa wartość można przypisać do zmiennej i mutable za pomocą let słowa kluczowego w taki sam sposób, jak przy definiowaniu wartość.Jednakże różnica jest, że przy użyciu można przypisać następnie nowe wartości tych zmiennych <- operatora, jak w poniższym przykładzie.

let mutable x = 1
x <- x + 1

Tematy pokrewne

Tytuł

Opis

let — Powiązania (F#)

Zawiera informacje dotyczące korzystania z let słowo kluczowe, aby powiązać nazwy funkcji i wartości.

Funkcje (F#)

Zawiera omówienie funkcji F#.

Zobacz też

Koncepcje

Wartości zerowe (F#)

Inne zasoby

Materiały referencyjne dotyczące języka F#