Odwołanie do słowa kluczowego

Ten temat zawiera linki do informacji o wszystkich słowach kluczowych języka F#.

Tabela słów kluczowych języka F#

W poniższej tabeli przedstawiono wszystkie słowa kluczowe języka F# w kolejności alfabetycznej wraz z krótkimi opisami i linkami do odpowiednich tematów zawierających więcej informacji.

Słowo kluczowe Link opis
abstract Elementy członkowskie

Klasy abstrakcyjne
Wskazuje metodę, która nie ma implementacji w typie, w którym jest zadeklarowana lub jest wirtualna i ma domyślną implementację.
and let Powiązania

Rekordy

Elementy członkowskie

Ograniczenia
Używane w wzajemnie cyklicznych powiązaniach i rekordach, w deklaracjach właściwości i z wieloma ograniczeniami dla parametrów ogólnych.
as Klasy

Dopasowanie do wzorca
Służy do nadania bieżącemu obiektowi klasy nazwy obiektu. Służy również do nadania nazwy całemu wzorcu w ramach dopasowania wzorca.
assert Asercje Służy do weryfikowania kodu podczas debugowania.
base Klasy

Dziedziczenie
Używana jako nazwa obiektu klasy bazowej.
begin Pełna składnia W pełnej składni wskazuje początek bloku kodu.
class Klasy W pełnej składni wskazuje początek definicji klasy.
default Elementy członkowskie Wskazuje implementację metody abstrakcyjnej; używane razem z abstrakcyjną deklaracją metody w celu utworzenia metody wirtualnej.
delegate Delegaci Służy do deklarowania delegata.
do Powiązania „do”

Pętle: for...to wyrażenie

Pętle: for...in wyrażenie

Pętle: while...do wyrażenie
Używany w konstrukcjach pętli lub do wykonywania kodu imperatywnego.
done Pełna składnia W pełnej składni wskazuje koniec bloku kodu w wyrażeniu pętli.
downcast Rzutowanie i konwersje Służy do konwersji na typ, który jest niższy w łańcuchu dziedziczenia.
downto Pętle: for...to wyrażenie W wyrażeniu for używanym podczas zliczania odwrotnie.
elif Wyrażenia warunkowe: if...then...else Używane w rozgałęziania warunkowego. Krótka forma .else if
else Wyrażenia warunkowe: if...then...else Używane w rozgałęziania warunkowego.
end Struktury

Sumy rozłączne

Rekordy

Rozszerzenia typu

Pełna składnia
W definicjach typów i rozszerzeniach typów wskazuje koniec sekcji definicji składowych.

W pełnej składni służy do określania końca bloku kodu rozpoczynającego się od słowa kluczowego begin .
exception Obsługa wyjątków

Typy wyjątków
Służy do deklarowania typu wyjątku.
extern Funkcje zewnętrzne Wskazuje, że zadeklarowany element programu jest zdefiniowany w innym pliku binarnym lub zestawie.
false Typy pierwotne Używany jako literał logiczny.
finally Wyjątki: try...finally wyrażenie Służy razem z try wprowadzeniem bloku kodu, który jest wykonywany niezależnie od tego, czy występuje wyjątek.
fixed Stała Służy do "przypinania" wskaźnika na stosie, aby zapobiec jego zbieraniu pamięci.
for Pętle: for...to wyrażenie

Pętle: wyrażenie for...in
Używane w konstrukcjach pętli.
fun Wyrażenia lambda: fun słowo kluczowe Używany w wyrażeniach lambda, nazywanych również funkcjami anonimowymi.
function Wyrażenia dopasowania

Wyrażenia lambda: zabawne słowo kluczowe
Używana jako krótsza alternatywa dla słowa kluczowego fun i match wyrażenie w wyrażeniu lambda, które ma dopasowanie wzorca dla jednego argumentu.
global Przestrzenie nazw Służy do odwołowania się do przestrzeni nazw platformy .NET najwyższego poziomu.
if Wyrażenia warunkowe: if...then...else Używane w konstrukcjach rozgałęziania warunkowego.
in Pętle: wyrażenie for...in

Pełna składnia
Służy do wyrażeń sekwencji i, w składni pełnej, do oddzielania wyrażeń od powiązań.
inherit Dziedziczenie Służy do określania klasy bazowej lub interfejsu podstawowego.
inline Funkcje

Funkcje śródwierszowe
Służy do wskazywania funkcji, która powinna być zintegrowana bezpośrednio z kodem wywołującego.
interface Interfejsy Służy do deklarowania i implementowania interfejsów.
internal Kontrola dostępu Służy do określania, że element członkowski jest widoczny wewnątrz zestawu, ale nie poza nim.
lazy Wyrażenia z opóźnionym obliczaniem Służy do określania wyrażenia, które ma być wykonywane tylko wtedy, gdy wynik jest potrzebny.
let let Powiązania Służy do kojarzenia lub wiązania nazwy z wartością lub funkcją.
let! Wyrażenia asynchroniczne

Wyrażenia zadań

Wyrażenia obliczeń
Używane w wyrażeniach asynchronicznych do powiązania nazwy z wynikiem obliczeń asynchronicznych lub, w innych wyrażeniach obliczeniowych, używanych do powiązania nazwy z wynikiem, który jest typem obliczeniowym.
match Wyrażenia dopasowania Służy do rozgałęzianiu przez porównanie wartości ze wzorcem.
match! Wyrażenia obliczeń Służy do wbudowanego wywołania wyrażenia obliczeniowego i dopasowania wzorca w wyniku.
member Elementy członkowskie Służy do deklarowania właściwości lub metody w typie obiektu.
module Moduły Służy do kojarzenia nazwy z grupą powiązanych typów, wartości i funkcji, aby logicznie oddzielić ją od innego kodu.
mutable Powiązania „let” Służy do deklarowania zmiennej, czyli wartości, którą można zmienić.
namespace Przestrzenie nazw Służy do kojarzenia nazwy z grupą powiązanych typów i modułów, aby logicznie oddzielić ją od innego kodu.
new Konstruktory

Ograniczenia
Służy do deklarowania, definiowania lub wywoływania konstruktora, który tworzy lub może utworzyć obiekt.

Używane również w ograniczeniach parametrów ogólnych, aby wskazać, że typ musi mieć określony konstruktor.
not Odwołanie do symboli i operatorów

Ograniczenia
W rzeczywistości nie jest to słowo kluczowe. Jednak not struct w połączeniu jest używany jako ograniczenie parametru ogólnego.
null Wartości null

Ograniczenia
Wskazuje brak obiektu.

Używane również w ograniczeniach parametrów ogólnych.
of Sumy rozłączne

Delegaci

Typy wyjątków
Używane w związkach dyskryminowanych do wskazywania typu kategorii wartości oraz w deklaracjach delegatów i wyjątków.
open Deklaracje importu: open słowo kluczowe Służy do udostępniania zawartości przestrzeni nazw lub modułu bez kwalifikacji.
or Odwołanie do symboli i operatorów

Ograniczenia
Używany z warunkami logicznymi jako operator logiczny or . Odpowiednik ||.

Używane również w ograniczeniach składowych.
override Elementy członkowskie Służy do implementowania wersji abstrakcyjnej lub wirtualnej metody, która różni się od wersji podstawowej.
private Kontrola dostępu Ogranicza dostęp do elementu członkowskiego do kodu w tym samym typie lub module.
public Kontrola dostępu Umożliwia dostęp do elementu członkowskiego spoza typu.
rec Funkcje Służy do wskazywania, że funkcja jest rekursywna.
return Wyrażenia obliczeń

Wyrażenia asynchroniczne

Wyrażenia zadań
Służy do wskazywania wartości, która ma być dostarczana w wyniku wyrażenia obliczeniowego.
return! Wyrażenia obliczeń

Wyrażenia asynchroniczne

Wyrażenia zadań
Służy do wskazywania wyrażenia obliczeniowego, które po ocenie udostępnia wynik zawierającego wyrażenie obliczeniowe.
select Wyrażenia zapytania Używane w wyrażeniach zapytania do określania pól lub kolumn do wyodrębnienia. Należy pamiętać, że jest to słowo kluczowe kontekstowe, co oznacza, że nie jest w rzeczywistości słowem zastrzeżonym i działa jak słowo kluczowe w odpowiednim kontekście.
static Elementy członkowskie Służy do wskazywania metody lub właściwości, którą można wywołać bez wystąpienia typu, lub elementu członkowskiego wartości, który jest współużytkowany przez wszystkie wystąpienia typu.
struct Struktury

Krotki

Ograniczenia
Służy do deklarowania typu struktury.

Służy do określania krotki struktury.

Używane również w ograniczeniach parametrów ogólnych.

Służy do zapewniania zgodności OCaml w definicjach modułów.
then Wyrażenia warunkowe: if...then...else

Konstruktory
Używane w wyrażeniach warunkowych.

Również używane do wykonywania skutków ubocznych po budowie obiektu.
to Pętle: for...to wyrażenie Używane w for pętlach, aby wskazać zakres.
true Typy pierwotne Używany jako literał logiczny.
try Wyjątki: Spróbuj... z wyrażeniem

Wyjątki: Spróbuj... wyrażenie finally
Służy do wprowadzania bloku kodu, który może wygenerować wyjątek. Używane razem z lub withfinally.
type Typy F#

Klasy

Rekordy

Struktury

Wyliczenia

Sumy rozłączne

Skróty typów

Jednostki miary
Służy do deklarowania klasy, rekordu, struktury, unii dyskryminowanej, typu wyliczenia, jednostki miary lub skrótu typu.
upcast Rzutowanie i konwersje Służy do konwersji na typ, który jest wyższy w łańcuchu dziedziczenia.
use Zarządzanie zasobami use : słowo kluczowe Używane zamiast let wartości, które wymagają Dispose wywołania w celu zwolnienia zasobów.
use! Wyrażenia obliczeń

Wyrażenia asynchroniczne

Wyrażenia zadań
Używane zamiast let! w wyrażeniach asynchronicznych i innych wyrażeniach obliczeniowych dla wartości, które wymagają Dispose wywołania w celu zwolnienia zasobów.
val Pola jawne: słowo kluczowe val

Podpisy

Elementy członkowskie
Używany w podpisie do wskazania wartości lub typu w celu zadeklarowania elementu członkowskiego w ograniczonych sytuacjach.
void Typy pierwotne Wskazuje typ platformy .NET void . Używane podczas współdziałania z innymi językami platformy .NET.
when Ograniczenia Służy do warunków logicznych (gdy strażniki) na dopasowaniach wzorca i do wprowadzenia klauzuli ograniczenia dla parametru typu ogólnego.
while Pętle: while...do wyrażenie Wprowadza konstrukcję pętli.
with Wyrażenia dopasowania

Wyrażenia obiektów

Kopiowanie i aktualizacja wyrażeń rekordów

Rozszerzenia typu

Wyjątki: try...with wyrażenie
Używane razem ze match słowem kluczowym w wyrażeniach dopasowania wzorca. Używane również w wyrażeniach obiektów, wyrażeniach kopiowania rekordów i rozszerzeniach typów w celu wprowadzenia definicji elementów członkowskich oraz do wprowadzania procedur obsługi wyjątków.
yield Listy, tablice, sekwencje Używane w wyrażeniu listy, tablicy lub sekwencji w celu utworzenia wartości dla sekwencji. Zazwyczaj można pominąć, ponieważ jest niejawny w większości sytuacji.
yield! Wyrażenia obliczeń

Wyrażenia asynchroniczne

Wyrażenia zadań
Użyto w wyrażeniu obliczeniowym, aby dołączyć wynik danego wyrażenia obliczeniowego do kolekcji wyników zawierającego wyrażenie obliczeniowe.
const Dostawcy typów Dostawcy typów umożliwiają użycie const jako słowa kluczowego, aby określić literał stały jako argument parametru typu.

Następujące tokeny są zarezerwowane w języku F#, ponieważ są słowami kluczowymi w języku OCaml:

  • asr
  • land
  • lor
  • lsl
  • lsr
  • lxor
  • mod
  • sig

Jeśli używasz opcji kompilatora --mlcompatibility , powyższe słowa kluczowe są dostępne do użycia jako identyfikatory.

Następujące tokeny są zarezerwowane jako słowa kluczowe dla przyszłego rozszerzenia języka F#:

  • break
  • checked
  • component
  • const
  • constraint
  • continue
  • event
  • external
  • include
  • mixin
  • parallel
  • process
  • protected
  • pure
  • sealed
  • tailcall
  • trait
  • virtual

Następujące tokeny były kiedyś zarezerwowane jako słowa kluczowe, ale zostały wydane w języku F# 4.1, więc teraz można ich używać jako identyfikatorów:

Słowo kluczowe Przyczyna
method Użyj member polecenia , aby wprowadzić metody.
constructor Użyj new polecenia , aby wprowadzić konstruktory.
atomic Związane z blaknięciem pamięci transakcyjnej około 2006 roku. Będzie to teraz wyrażenie obliczeniowe zdefiniowane przez bibliotekę.
eager Nie są już potrzebne; początkowo został zaprojektowany tak, aby let eager pasował do potencjalnego .let lazy
object Nie trzeba tego zarezerwować.
recursive Użyj witryny rec.
functor Jeśli język F# dodał sparametryzowane moduły, użyj polecenia module M(args) = ....
measure Atrybut [<Measure>] wystarczy.
volatile Atrybut [<Volatile>] wystarczy.

Zobacz też