Materiały referencyjne dotyczące języka F#
Ta sekcja jest dokumentacją języka F#, języka programowania wielodygmatycznego przeznaczonego dla platformy .NET. Język F# obsługuje modele programowania funkcjonalnego, obiektowego i imperatywnego.
Organizowanie kodu F#
W poniższej tabeli przedstawiono artykuły referencyjne związane z organizowaniem kodu F#.
Tytuł | Opis |
---|---|
Przestrzenie nazw | Dowiedz się więcej o obsłudze przestrzeni nazw w języku F#. Przestrzeń nazw umożliwia organizowanie kodu w obszary powiązanych funkcji, umożliwiając dołączenie nazwy do grupowania elementów programu. |
Moduły | Dowiedz się więcej o modułach. Moduł języka F# jest jak przestrzeń nazw i może również zawierać wartości i funkcje. Grupowanie kodu w modułach pomaga zachować powiązany kod razem i pomaga uniknąć konfliktów nazw w programie. |
open Deklaracje |
Dowiedz się więcej o tym, jak open działa. Deklaracja open określa moduł, przestrzeń nazw lub typ, do którego można odwoływać się bez użycia w pełni kwalifikowanej nazwy. |
Podpisy | Dowiedz się więcej o podpisach i plikach podpisów. Plik podpisu zawiera informacje o podpisach publicznych zestawu elementów programu języka F#, takich jak typy, przestrzenie nazw i moduły. Może służyć do określania dostępności tych elementów programu. |
Kontrola dostępu | Dowiedz się więcej o kontroli dostępu w języku F#. Kontrola dostępu oznacza deklarowanie, co klienci mogą używać niektórych elementów programu, takich jak typy, metody, funkcje itd. |
Dokumentacja XML | Dowiedz się więcej o obsłudze generowania plików dokumentacji z komentarzy dokumentacji XML, nazywanych również komentarzami potrójnego ukośnika. Dokumentację można tworzyć z komentarzy kodu w języku F#, tak jak w innych językach platformy .NET. |
Literały i ciągi
W poniższej tabeli przedstawiono artykuły referencyjne opisujące literały i ciągi w języku F#.
Tytuł | Opis |
---|---|
Literały | Dowiedz się więcej na temat składni wartości literałów w języku F# i sposobu określania informacji o typie literałów języka F#. |
Ciągi | Dowiedz się więcej o ciągach w języku F#. Typ string reprezentuje tekst niezmienny jako sekwencję znaków Unicode. string jest aliasem dla System.String platformy .NET. |
Ciągi interpolowane | Dowiedz się więcej o ciągach interpolowanych, specjalnej formie ciągu, która umożliwia osadzanie wyrażeń języka F# bezpośrednio wewnątrz nich. |
Wartości i funkcje
W poniższej tabeli przedstawiono artykuły referencyjne opisujące pojęcia dotyczące języka związane z wartościami, let
-bindings i funkcjami.
Tytuł | Opis |
---|---|
Wartości | Dowiedz się więcej o wartościach, które są niezmienne ilości, które mają określony typ; wartości mogą być liczbami całkowitymi lub zmiennoprzecinkowymi, znakami lub tekstem, listami, sekwencjami, tablicami, krotkami, dyskryminowanymi związkami, rekordami, typami klas lub wartościami funkcji. |
Funkcje | Funkcje są podstawową jednostką wykonywania programu w dowolnym języku programowania. Funkcja języka F# ma nazwę, może mieć parametry i przyjmować argumenty oraz ma treść. Język F# obsługuje również konstrukcje programowania funkcjonalnego, takie jak traktowanie funkcji jako wartości, używanie funkcji nienazwanych w wyrażeniach, kompozycja funkcji do tworzenia nowych funkcji, funkcji curried i niejawnej definicji funkcji za pomocą częściowego stosowania argumentów funkcji. |
Wyrażenia funkcji | Dowiedz się, jak używać słowa kluczowego "fun" języka F# do definiowania wyrażenia lambda, które jest funkcją anonimową. |
Pętle i warunkowe
W poniższej tabeli wymieniono artykuły opisujące pętle i instrukcje warunkowe języka F#.
Tytuł | Opis |
---|---|
Wyrażenia warunkowe: if...then...else |
Dowiedz się więcej o wyrażeniu if...then...else , które uruchamia różne gałęzie kodu, a także oblicza inną wartość w zależności od podanego wyrażenia logicznego. |
Pętle: for...in wyrażenie |
Dowiedz się więcej o wyrażeniu for...in , konstrukcji pętli używanej do iterowania dopasowań wzorca w kolekcji wyliczalnej, takiej jak wyrażenie zakresu, sekwencja, lista, tablica lub inna konstrukcja, która obsługuje wyliczenie. |
Pętle: for...to wyrażenie |
Dowiedz się więcej o wyrażeniu for...to , które jest używane do iterowania w pętli w zakresie wartości zmiennej pętli. |
Pętle: while...do wyrażenie |
Dowiedz się więcej o wyrażeniu while...do , które jest używane do wykonywania iteracyjnego (pętli), gdy określony warunek testu ma wartość true. |
Dopasowanie wzorca
W poniższej tabeli przedstawiono artykuły referencyjne opisujące pojęcia dotyczące języka.
Tytuł | Opis |
---|---|
Dopasowywanie wzorca | Dowiedz się więcej o wzorcach, które są regułami przekształcania danych wejściowych i są używane w języku F#. Dane można porównać ze wzorcem, rozkładać dane na części składowe lub wyodrębniać informacje z danych na różne sposoby. |
Wyrażenia dopasowania | Dowiedz się więcej o wyrażeniu match , które zapewnia kontrolkę rozgałęziania opartą na porównywaniu wyrażenia z zestawem wzorców. |
Wzorce aktywne | Dowiedz się więcej o aktywnych wzorcach. Aktywne wzorce umożliwiają definiowanie nazwanych partycji, które dzielą dane wejściowe. Za pomocą aktywnych wzorców można rozkładać dane w dostosowany sposób dla każdej partycji. |
Obsługa wyjątków
W poniższej tabeli przedstawiono artykuły referencyjne opisujące pojęcia dotyczące języka związane z obsługą wyjątków.
Tytuł | Opis |
---|---|
Obsługa wyjątków | Zawiera informacje o obsłudze wyjątków w języku F#. |
Wyrażenie try...with |
Dowiedz się, jak używać try...with wyrażenia do obsługi wyjątków. |
Wyrażenie try...finally |
Dowiedz się, jak wyrażenie języka F# try...finally umożliwia wykonywanie kodu czyszczenia, nawet jeśli blok kodu zgłasza wyjątek. |
Słowo use kluczowe |
Dowiedz się więcej o słowach kluczowych use i using , które mogą kontrolować inicjowanie i wydawanie zasobów. |
Potwierdzenia | Dowiedz się więcej o wyrażeniu assert , czyli funkcji debugowania, której można użyć do testowania wyrażenia. Po awarii w trybie debugowania potwierdzenie generuje okno dialogowe błędu systemu. |
Typy i wnioskowanie typów
W poniższej tabeli przedstawiono artykuły referencyjne opisujące sposób działania typów i wnioskowania typów w języku F#.
Tytuł | Opis |
---|---|
Typy | Dowiedz się więcej o typach używanych w języku F# oraz o nazwach i opisach typów F#. |
Typy podstawowe | Dowiedz się więcej o podstawowych typach używanych w języku F#. Udostępnia również odpowiednie typy platformy .NET oraz minimalne i maksymalne wartości dla każdego typu. |
Typ jednostki | Dowiedz się więcej o typie unit , który wskazuje brak określonej wartości; unit typ ma tylko jedną wartość, która działa jako symbol zastępczy, gdy nie istnieje żadna inna wartość lub jest potrzebna. |
Skróty typów | Dowiedz się więcej o skrótach typów, które są alternatywnymi nazwami typów. |
Wnioskowanie o typie | Dowiedz się, jak kompilator języka F# wywnioskuje typy wartości, zmiennych, parametrów i zwracanych wartości. |
Rzutowanie i konwersje | Dowiedz się więcej o obsłudze konwersji typów w języku F#. |
Typy ogólne | Dowiedz się więcej o konstrukcjach ogólnych w języku F#. |
Automatyczna generalizacja | Dowiedz się, jak język F# automatycznie uogólnia argumenty i typy funkcji tak, aby działały z wieloma typami, gdy jest to możliwe. |
Ograniczenia | Dowiedz się więcej o ograniczeniach, które mają zastosowanie do parametrów typu ogólnego, aby określić wymagania dotyczące argumentu typu w typie ogólnym lub funkcji. |
Typy elastyczne | Dowiedz się więcej o typach elastycznych. Adnotacja typu elastycznego jest wskazaniem, że parametr, zmienna lub wartość ma typ zgodny z określonym typem, gdzie zgodność jest określana przez położenie w hierarchii obiektowej klas lub interfejsów. |
Jednostki miary | Dowiedz się więcej o jednostkach miary. Wartości zmiennoprzecinkowe w języku F# mogą mieć skojarzone jednostki miary, które są zwykle używane do wskazywania długości, woluminu, masy itd. |
Byrefs | Dowiedz się więcej o typach byref i byref w języku F#, które są używane do programowania niskiego poziomu. |
Krotki, listy, kolekcje, opcje
W poniższej tabeli przedstawiono artykuły referencyjne opisujące typy obsługiwane przez język F#.
Tytuł | Opis |
---|---|
Krotki | Dowiedz się więcej o krotkach, które są grupami nienazwanych, ale uporządkowanymi wartościami prawdopodobnie różnych typów. |
Kolekcje | Omówienie typów kolekcji funkcjonalnych języka F#, w tym typów tablic, list, sekwencji (seq), map i zestawów. |
Listy | Dowiedz się więcej o listach. Lista w języku F# jest uporządkowaną, niezmienną serią elementów tego samego typu. |
Opcje | Dowiedz się więcej o typie opcji. Opcja w języku F# jest używana, gdy wartość może lub nie istnieje. Opcja ma typ bazowy i może przechowywać wartość tego typu lub może nie mieć wartości. |
Tablice | Dowiedz się więcej o tablicach. Tablice to stałe, oparte na zerowej, modyfikowalnej sekwencje kolejnych elementów danych, wszystkie tego samego typu. |
Sekwencje | Dowiedz się więcej o sekwencjach. Sekwencja jest logiczną serią elementów wszystkich typów. Poszczególne elementy sekwencji są obliczane tylko w razie potrzeby, więc reprezentacja może być mniejsza niż liczba elementów literału. |
Wyrażenia sekwencji | Dowiedz się więcej o wyrażeniach sekwencji, które umożliwiają generowanie sekwencji danych na żądanie. |
Komórki odwołań | Dowiedz się więcej o komórkach referencyjnych, które są lokalizacjami przechowywania, które umożliwiają tworzenie zmiennych modyfikowalnych przy użyciu semantyki odwołań. |
Rejestry i związki dyskryminowane
W poniższej tabeli przedstawiono artykuły referencyjne opisujące definicje typów rekordów i dyskryminowanych typów unii obsługiwanych przez język F#.
Tytuł | Opis |
---|---|
Rekordy | Dowiedz się więcej o rekordach. Rekordy reprezentują proste agregacje nazwanych wartości, opcjonalnie z elementami członkowskimi. |
Rekordy anonimowe | Dowiedz się, jak tworzyć i używać rekordów anonimowych— funkcję języka, która pomaga w manipulowaniu danymi. |
Sumy rozłączne | Dowiedz się więcej o dyskryminowanych związkach, które zapewniają obsługę wartości, które mogą być jedną z różnych nazwanych przypadków, z których każda ma prawdopodobnie różne wartości i typy. |
Struktury | Dowiedz się więcej o strukturach, które są kompaktowymi typami obiektów, które mogą być bardziej wydajne niż klasa dla typów, które mają niewielką ilość danych i proste zachowanie. |
Wyliczenia | Wyliczenia to typy, które mają zdefiniowany zestaw nazwanych wartości. Można ich używać zamiast literałów, aby kod był bardziej czytelny i można go obsługiwać. |
Programowanie obiektów
W poniższej tabeli przedstawiono artykuły referencyjne opisujące programowanie obiektów języka F#.
Tytuł | Opis |
---|---|
Klasy | Dowiedz się więcej o klasach, które są typami reprezentującymi obiekty, które mogą mieć właściwości, metody i zdarzenia. |
Interfejsy | Dowiedz się więcej o interfejsach, które określają zestawy powiązanych elementów członkowskich implementujących inne klasy. |
Klasy abstrakcyjne | Dowiedz się więcej o klasach abstrakcyjnych, które są klasami, które pozostawiają niektóre lub wszystkie elementy członkowskie nieimplementowane, dzięki czemu implementacje mogą być udostępniane przez klasy pochodne. |
Rozszerzenia typu | Dowiedz się więcej o rozszerzeniach typów, które umożliwiają dodawanie nowych elementów członkowskich do wcześniej zdefiniowanego typu obiektu. |
Delegaci | Dowiedz się więcej o delegatach reprezentujących wywołanie funkcji jako obiekt. |
Dziedziczenie | Dowiedz się więcej o dziedziczeniu używanym do modelowania relacji "is-a" lub podtypowania w programowaniu obiektowym. |
Elementy członkowskie | Dowiedz się więcej o elementach członkowskich typów obiektów języka F#. |
Parametry i argumenty | Dowiedz się więcej o obsłudze języka do definiowania parametrów i przekazywania argumentów do funkcji, metod i właściwości. Zawiera on informacje o sposobie przekazywania przez odwołanie. |
Przeciążenie operatora | Dowiedz się, jak przeciążać operatory arytmetyczne w klasie lub typie rekordu oraz na poziomie globalnym. |
Wyrażenia obiektów | Dowiedz się więcej o wyrażeniach obiektów, które są wyrażeniami, które tworzą nowe wystąpienia dynamicznie utworzonego, anonimowego typu obiektu opartego na istniejącym typie podstawowym, interfejsie lub zestawie interfejsów. |
Async, Tasks and Lazy
W poniższej tabeli wymieniono tematy opisujące wyrażenia asynchroniczne języka F#, zadania i leniwe.
Tytuł | Opis |
---|---|
Wyrażenia asynchroniczne | Dowiedz się więcej o wyrażeniach asynchronicznych, które umożliwiają pisanie kodu asynchronicznego w sposób bardzo zbliżony do sposobu naturalnego pisania synchronicznego kodu. |
Wyrażenia zadań | Dowiedz się więcej o wyrażeniach zadań, które są alternatywnym sposobem pisania asynchronicznego kodu używanego podczas współdziałania z kodem platformy .NET, który używa lub tworzy zadania platformy .NET. |
Wyrażenia z opóźnionym obliczaniem | Dowiedz się więcej na temat wyrażeń leniwych, które są obliczeniami, które nie są obliczane natychmiast, ale zamiast tego są oceniane, gdy wynik jest rzeczywiście potrzebny. |
Wyrażenia obliczeniowe i zapytania
W poniższej tabeli wymieniono tematy opisujące wyrażenia obliczeniowe i zapytania języka F#.
Tytuł | Opis |
---|---|
Wyrażenia obliczeń | Dowiedz się więcej na temat wyrażeń obliczeniowych w języku F#, które zapewniają wygodną składnię do pisania obliczeń, które można sekwencjonować i łączyć przy użyciu konstrukcji i powiązań przepływu sterowania. Mogą służyć do zarządzania danymi, kontrolą i skutkami ubocznymi w programach funkcjonalnych. |
Wyrażenia kwerend | Dowiedz się więcej na temat wyrażeń zapytań, funkcji języka, która implementuje linQ for F# i umożliwia pisanie zapytań względem źródła danych lub kolekcji z możliwością wyliczania. |
Atrybuty, odbicie, cudzysłów i formatowanie zwykłego tekstu
W poniższej tabeli wymieniono artykuły opisujące funkcje odbicia języka F#, w tym atrybuty, cudzysłów, nameof
i formatowanie zwykłego tekstu.
Tytuł | Opis |
---|---|
Atrybuty | Dowiedz się, jak atrybuty języka F# umożliwiają stosowanie metadanych do konstrukcji programowania. |
nameof | Dowiedz się więcej na nameof temat operatora — funkcji programowania metaprogramowania, która umożliwia utworzenie nazwy dowolnego symbolu w kodzie źródłowym. |
Informacje o obiekcie wywołującym | Dowiedz się, jak używać atrybutów argumentów informacji o obiekcie wywołującym w celu uzyskania informacji o obiekcie wywołującym z metody. |
Identyfikatory wiersza źródłowego, pliku i ścieżki | Dowiedz się więcej o identyfikatorach __LINE__ , __SOURCE_DIRECTORY__ i __SOURCE_FILE__ , które są wbudowanymi wartościami, które umożliwiają dostęp do numeru wiersza źródłowego, katalogu i nazwy pliku w kodzie. |
Cytaty kodu | Dowiedz się więcej na temat cudzysłowów kodu — funkcji języka, która umożliwia programowe generowanie wyrażeń kodu języka F# i pracę z nimi. |
Format zwykłego tekstu | Dowiedz się, jak używać funkcji sprintf i innego formatowania zwykłego tekstu w aplikacjach i skryptach języka F#. |
Dostawcy typów
W poniższej tabeli wymieniono artykuły opisujące dostawców typów języka F#.
Tytuł | Opis |
---|---|
Dostawcy typów | Dowiedz się więcej o dostawcach typów i znajdź linki do przewodników dotyczących używania wbudowanych dostawców typów do uzyskiwania dostępu do baz danych i usług internetowych. |
Tworzenie dostawcy typów | Dowiedz się, jak utworzyć własnych dostawców typów języka F#, sprawdzając kilku prostych dostawców typów, którzy ilustrują podstawowe pojęcia. |
Dokumentacja podstawowego interfejsu API biblioteki języka F#
Dokumentacja interfejsu API biblioteki podstawowej języka F# (FSharp.Core) jest odwołaniem do wszystkich przestrzeni nazw biblioteki podstawowej języka F#, modułów, typów i funkcji.
Tabele odwołań
W poniższej tabeli przedstawiono artykuły referencyjne zawierające tabele słów kluczowych, symboli i literałów, które są używane jako tokeny w języku F#.
Tytuł | Opis |
---|---|
Odwołanie do słowa kluczowego | Zawiera łącza do informacji o wszystkich słowach kluczowych języka F#. |
Odwołanie do symbolu i operatora | Zawiera tabelę symboli i operatorów używanych w języku F#. |
Konstrukcje obsługiwane przez kompilator
W poniższej tabeli wymieniono tematy opisujące specjalne konstrukcje obsługiwane przez kompilator.
Temat | Opis |
---|---|
Opcje kompilatora | Opisuje opcje wiersza polecenia kompilatora języka F#. |
Dyrektywy kompilatora | Opisuje dyrektywy procesora i dyrektywy kompilatora obsługiwane przez kompilator języka F#. |