Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit artikel bevat tabellen met een beschrijving van de symbolen en operatoren die worden gebruikt in F# en bevat een korte beschrijving van elk van deze symbolen. Sommige symbolen en operators hebben twee of meer vermeldingen wanneer ze in meerdere rollen worden gebruikt.
Opmerking, compilerrichtlijn en kenmerksymbolen
In de volgende tabel worden symbolen beschreven die betrekking hebben op opmerkingen, compilerrichtlijnen en kenmerken.
| Symbool of operator | Verwijzingen | Beschrijving |
|---|---|---|
(*...*) |
Hiermee wordt een opmerking gescheiden die meerdere regels kan omvatten. | |
// |
Geeft het begin van een opmerking met één regel aan. | |
/// |
XML-documentatie | Geeft een XML-opmerking aan. |
# |
Compilerrichtlijnen | Voorvoegsels voor een preprocessor- of compilerrichtlijn. |
[<...>] |
Kenmerken | Een kenmerk wordt gescheiden. |
Tekenreeks- en id-symbolen
In de volgende tabel worden symbolen beschreven die betrekking hebben op tekenreeksen.
| Symbool of operator | Verwijzingen | Beschrijving |
|---|---|---|
" |
Strings | Een tekenreeks scheidingsteken. |
@" |
Strings | Hiermee wordt een exacte tekenreeks gestart, die backslashes en andere tekens kan bevatten. |
""" |
Strings | Hiermee wordt een tekenreeks met drie aanhalingstekens gescheiden, waaronder backslashes, dubbele aanhalingstekens en andere tekens. |
$" |
Geïnterpoleerde tekenreeksen | Hiermee start u een geïnterpoleerde tekenreeks. |
' |
Literalen | Scheidingstekens voor letterlijke tekens van één teken. |
``...`` |
Hiermee wordt een id gescheiden die anders geen juridische id zou zijn, zoals een taalwoord. | |
\ |
Strings | Ontsnapt aan het volgende teken; wordt gebruikt in letterlijke teken- en tekenreeksen. |
Rekenkundige operatoren
In de volgende tabel worden de rekenkundige operatoren beschreven.
| Symbool of operator | Verwijzingen | Beschrijving |
|---|---|---|
+ |
Rekenkundige operatoren |
|
- |
Rekenkundige operatoren |
|
* |
Rekenkundige operatoren tuples Maateenheden |
|
/ |
Rekenkundige operatoren Maateenheden |
|
% |
Rekenkundige operatoren | Berekent de rest van het gehele getal. |
** |
Rekenkundige operatoren | Berekent de exponentiatiebewerking (x ** y de macht x van y). |
Vergelijkingsoperatoren
In de volgende tabel worden de vergelijkingsoperatoren beschreven.
| Symbool of operator | Verwijzingen | Beschrijving |
|---|---|---|
< |
Rekenkundige operatoren | Berekent de minder-dan-bewerking. |
<> |
Rekenkundige operatoren | Retourneert als de linkerkant true niet gelijk is aan de rechterkant; anders wordt onwaar geretourneerd. |
<= |
Rekenkundige operatoren | Retourneert als de linkerkant true kleiner is dan of gelijk is aan de rechterkant; anders wordt geretourneerd false. |
= |
Rekenkundige operatoren | Retourneert als de linkerkant true gelijk is aan de rechterkant; anders wordt geretourneerd false. |
> |
Rekenkundige operatoren | Retourneert als de linkerkant true groter is dan de rechterkant; anders wordt geretourneerd false. |
>= |
Rekenkundige operatoren | Retourneert als de linkerkant true groter is dan of gelijk is aan de rechterkant; anders wordt geretourneerd false. |
Booleaanse operatoren
In de volgende tabel worden de rekenkundige en booleaanse operatorsymbolen beschreven.
| Symbool of operator | Verwijzingen | Beschrijving |
|---|---|---|
&& |
Booleaanse operatoren | Berekent de Booleaanse EN-bewerking. |
|| |
Booleaanse operatoren | Berekent de Booleaanse OR-bewerking. |
Bitsgewijze operatoren
In de volgende tabel worden bitsgewijze operatoren beschreven.
| Symbool of operator | Verwijzingen | Beschrijving |
|---|---|---|
&&& |
Bitwise operatoren | Berekent de bitsgewijze AND-bewerking. |
<<< |
Bitwise operatoren | Hiermee worden bits in de hoeveelheid aan de linkerkant naar links verplaatst door het aantal bits dat aan de rechterkant is opgegeven. |
>>> |
Bitwise operatoren | Hiermee worden bits in de hoeveelheid aan de linkerkant naar rechts verplaatst door het aantal plaatsen dat aan de rechterkant is opgegeven. |
^^^ |
Bitwise operatoren | Berekent de bitsgewijze exclusieve OR-bewerking. |
||| |
Bitwise operatoren | Berekent de bitsgewijze OR-bewerking. |
~~~ |
Bitwise operatoren | Berekent de bitsgewijze NOT-bewerking. |
Functiesymbolen en operatoren
In de volgende tabel worden de operators en symbolen beschreven die betrekking hebben op functies.
| Symbool of operator | Verwijzingen | Beschrijving |
|---|---|---|
-> |
Functies | In functie-expressies wordt het invoerpatroon gescheiden van de uitvoerexpressie. |
|> |
Functies | Hiermee wordt het resultaat van de linkerzijde doorgegeven aan de functie aan de rechterkant (operator voor doorstuurpijp). |
||> |
( ||> )<'T1,'T2,'U> , functie | Geeft de tuple van twee argumenten aan de linkerkant door aan de functie aan de rechterkant. |
|||> |
( |||> )<'T1,'T2,'T3,'U> , functie | Geeft de tuple van drie argumenten aan de linkerkant door aan de functie aan de rechterkant. |
>> |
Functies | Stelt twee functies samen (operator voor voorwaartse samenstelling). |
<< |
Functies | Stelt twee functies in omgekeerde volgorde samen; de tweede wordt eerst uitgevoerd (operator voor achterwaartse samenstelling). |
<| |
Functies | Hiermee wordt het resultaat van de expressie aan de rechterkant doorgegeven aan de functie aan de linkerkant (operator achterwaartse pijp). |
<|| |
( <|| )<' T1,'T2,'U> , functie | Geeft de tuple van twee argumenten aan de rechterkant door aan de functie aan de linkerkant. |
<||| |
( <||| )<' T1,'T2,'T3,'U> , functie | Geeft de tuple van drie argumenten aan de rechterkant door aan de functie aan de linkerkant. |
Symbolen en operatoren typen
In de volgende tabel worden symbolen beschreven die betrekking hebben op typeaantekening en typetests.
| Symbool of operator | Verwijzingen | Beschrijving |
|---|---|---|
-> |
Functies | In functietypen worden argumenten en retourwaarden gescheiden, wat ook resulteert in reeksexpressies. |
: |
Functies | In een typeaantekening wordt een parameter of lidnaam gescheiden van het type. |
:> |
Typecasting en conversies | Converteert een type naar een type dat hoger is in de hiërarchie. |
:? |
Match-uitdrukkingen | Retourneert true als de waarde overeenkomt met het opgegeven type (inclusief als het een subtype is). Anders wordt de waarde geretourneerd false (testoperator voor het type). |
:?> |
Typecasting en conversies | Converteert een type naar een type dat lager in de hiërarchie is. |
# |
Flexibele typen | Bij gebruik met een type geeft u een flexibel type aan, dat verwijst naar een type of een van de afgeleide typen. |
' |
Automatische generalisatie | Geeft een algemene typeparameter aan. |
<...> |
Automatische generalisatie | Parameters voor scheidingstekens. |
^ |
Parameters voor statisch opgelost type Strings |
|
{} |
Klasse of record | Bij gebruik met het type trefwoord wordt een klasse of record gescheiden. Het type is een klasse wanneer leden worden gedeclareerd of het class trefwoord wordt gebruikt. Anders is het een record. |
{||} |
Anonieme record | Geeft een anonieme record aan |
Symbolen die worden gebruikt in opzoek- en segmentexpressies van leden
In de volgende tabel worden aanvullende symbolen beschreven die worden gebruikt in opzoek- en segmentexpressies van leden.
| Symbool of operator | Verwijzingen | Beschrijving |
|---|---|---|
. |
Leden | Verwijst naar een lid en scheidt afzonderlijke namen in een volledig gekwalificeerde naam. |
[...] of .[...] |
arrays Geïndexeerde eigenschappen Slice-expressies |
Indexeert in een matrix, tekenreeks of verzameling of neemt een segment van een verzameling. |
Symbolen die worden gebruikt in tuple, lijst, matrix, eenheidsexpressies en patronen
In de volgende tabel worden symbolen beschreven die betrekking hebben op tuples, lijsten, eenheidswaarden en matrices.
| Symbool of operator | Verwijzingen | Beschrijving |
|---|---|---|
( ) |
Eenheidstype | Vertegenwoordigt de enkele waarde van het eenheidstype. |
, |
tuples | Scheidt de elementen van een tuple of typ parameters. |
:: |
Lijsten Match-uitdrukkingen |
|
@ |
Lijsten | Voegt twee lijsten samen. |
[...] |
Lijsten | Hiermee worden de elementen van een lijst gescheiden. |
[|...|] |
arrays | Hiermee worden de elementen van een matrix gescheiden. |
Symbolen die worden gebruikt in imperatieve expressies
In de volgende tabel worden aanvullende symbolen beschreven die worden gebruikt in expressies.
| Symbool of operator | Verwijzingen | Beschrijving |
|---|---|---|
<- |
waarden | Wijst een waarde toe aan een variabele. |
; |
Uitgebreide syntaxis |
Scheidt expressies (meestal gebruikt in uitgebreide syntaxis). Hiermee worden ook elementen van een lijst of velden van een record gescheiden. |
Aanvullende symbolen die worden gebruikt in reeksen en berekeningsexpressies
In de volgende tabel worden aanvullende symbolen beschreven die worden gebruikt in reeksen en berekeningsexpressies.
| Symbool of operator | Verwijzingen | Beschrijving |
|---|---|---|
-> |
Sequenties | Geeft een expressie (in reeksexpressies); gelijk aan de do yield trefwoorden. |
! |
Berekeningsuitdrukkingen | Na een trefwoord wordt een gewijzigde versie van het gedrag van het trefwoord aangegeven, zoals bepaald door een rekenexpressie. |
Aanvullende symbolen die worden gebruikt in overeenkomstpatronen
In de volgende tabel worden symbolen beschreven die betrekking hebben op patroonkoppeling.
| Symbool of operator | Verwijzingen | Beschrijving |
|---|---|---|
-> |
Match-uitdrukkingen | Wordt gebruikt in overeenkomende expressies. |
& |
Patroonherkenning |
|
_ |
Match-uitdrukkingen Generics |
|
| |
Match-uitdrukkingen | Afzonderlijke overeenkomstcases, afzonderlijke gediscrimineerde samenvoegingen en opsommingswaarden worden gescheiden. |
Aanvullende symbolen die worden gebruikt in declaraties
In de volgende tabel worden symbolen beschreven die betrekking hebben op declaraties.
| Symbool of operator | Verwijzingen | Beschrijving |
|---|---|---|
(|...|) |
actieve patronen | Een actieve patroonnaam scheidingsteken. Ook wel banaanclips genoemd. |
? |
Parameters en argumenten | Hiermee geeft u een optioneel argument. |
~~ |
Overbelasting van operator | Wordt gebruikt om een overbelasting te declareren voor de unaire negatie-operator. |
~- |
Overbelasting van operator | Wordt gebruikt om een overbelasting voor de unaire min-operator te declareren. |
~+ |
Overbelasting van operator | Wordt gebruikt om een overbelasting te declareren voor de unaire plus-operator. |
Aanvullende symbolen die worden gebruikt in aanhalingstekens
In de volgende tabel worden symbolen beschreven die betrekking hebben op codecitaten.
| Symbool of operator | Verwijzingen | Beschrijving |
|---|---|---|
<@...@> |
Code-aanhalingstekens | Een getypte codeaanhalingsteken wordt gescheiden. |
<@@...@@> |
Code-aanhalingstekens | Scheidingstekens voor een niet-getypte codeaanhalingsteken. |
% |
Code-aanhalingstekens | Wordt gebruikt voor splicing-expressies in getypte codecitaten. |
%% |
Code-aanhalingstekens | Wordt gebruikt voor het segmenteren van expressies in niet-getypte codecitaten. |
Dynamische opzoekoperators
In de volgende tabel worden aanvullende symbolen beschreven die worden gebruikt in dynamische opzoekexpressies. Ze worden doorgaans niet gebruikt in routine-F#-programmering en er worden geen implementaties van deze operator geboden in de F#-kernbibliotheek.
| Symbool of operator | Verwijzingen | Beschrijving |
|---|---|---|
? |
Wordt gebruikt als operator voor dynamische methode- en eigenschapsaanroepen. | |
? ... <- ... |
Wordt gebruikt als operator voor het instellen van dynamische eigenschappen. |
Null-operatoren in query's
Null-operatoren worden gedefinieerd voor gebruik in Query-expressies. In de volgende tabel ziet u deze operators.
| Symbool of operator | Verwijzingen | Beschrijving |
|---|---|---|
%? |
Null-operatoren | Berekent het restgetal als de rechterkant een null-type is. |
*? |
Null-operatoren | Vermenigvuldigt de linker- en rechterzijde, wanneer de rechterkant een null-type is. |
+? |
Null-operatoren | Hiermee worden de linker- en rechterzijde toegevoegd wanneer de rechterkant een null-type is. |
-? |
Null-operatoren | Trekt de rechterkant van de linkerkant af wanneer de rechterkant een null-type is. |
/? |
Null-operatoren | Verdeelt de linkerkant door de rechterkant, wanneer de rechterkant een null-type is. |
<? |
Null-operatoren | Berekent de minder dan bewerking, wanneer de rechterkant een nullable type is. |
<>? |
Null-operatoren | Berekent de bewerking 'niet gelijk aan' wanneer de rechterkant een null-type is. |
<=? |
Null-operatoren | Berekent de bewerking 'kleiner dan of gelijk aan' wanneer de rechterkant een null-type is. |
=? |
Null-operatoren | Berekent de 'gelijk'-bewerking wanneer de rechterkant een null-type is. |
>? |
Null-operatoren | Berekent de bewerking 'groter dan' wanneer de rechterkant een null-type is. |
>=? |
Null-operatoren | Berekent de bewerking 'groter dan of gelijk' wanneer de rechterkant een null-type is. |
?>=, , ?<=, ?<?>, , ?=, ?<>, , ?*?-?+?/ |
Null-operatoren | Gelijk aan de overeenkomstige operators zonder de ? voorvoegsel, waarbij een type null aan de linkerkant staat. |
>=?, , <=?, <?>?, , =?, <>?, , *?-?+?/? |
Null-operatoren | Gelijk aan de overeenkomstige operators zonder de ? achtervoegsel, waarbij een type null aan de rechterkant staat. |
?>=?, , ?<=?, ?<??>?, , ?=?, ?<>?, , ?*??-??+??/? |
Null-operatoren | Gelijk aan de bijbehorende operatoren zonder de omringende vraagtekens, waarbij beide zijden nullable typen zijn. |
Verwijzingsceloperators (afgeschaft)
In de volgende tabel worden symbolen beschreven die betrekking hebben op verwijzingscellen. Het gebruik van deze operators genereert adviesberichten vanaf F# 6. Zie Adviesberichten voor verwijzingscelbewerkingen voor meer informatie.
| Symbool of operator | Verwijzingen | Beschrijving |
|---|---|---|
! |
Verwijzingscellen | Deductie van een verwijzingscel. |
:= |
Verwijzingscellen | Hiermee wordt een waarde toegewezen aan een verwijzingscel. |
Operatorprioriteit
In de volgende tabel ziet u de volgorde van prioriteit van operators en andere expressietrefwoorden in F#, in volgorde van laagste prioriteit tot de hoogste prioriteit. Ook vermeld is de associativiteit, indien van toepassing.
| Operateur | Associativiteit |
|---|---|
as |
Right |
when |
Right |
| (pipe) |
Links |
; |
Right |
let |
Niet-gekoppeld |
function,fun,match,try |
Niet-gekoppeld |
if |
Niet-gekoppeld |
not |
Right |
-> |
Right |
:= |
Right |
, |
Niet-gekoppeld |
or, || |
Links |
&, && |
Links |
:>, :?> |
Right |
<
op, >op, =|op, op, &op, , &$(inclusief <<<, >>>, |||, ) &&& |
Links |
^
op(inclusief ^^^) |
Right |
:: |
Right |
:? |
Niet associatief |
-
op, +op |
Van toepassing op invoegselgebruik van deze symbolen |
*
op, /op, %op |
Links |
**
op |
Right |
f x (functietoepassing)(inclusief lazy x, assert x) |
Links |
| (patroonovereenkomst) |
Right |
voorvoegseloperators (+op, -op, %, %%, &, &&op, !op, ~op) |
Links |
. |
Links |
f(x) |
Links |
f<
Typen> |
Links |
F# biedt ondersteuning voor overbelasting van aangepaste operatoren. Dit betekent dat u uw eigen operators kunt definiëren. In de vorige tabel kan op elke geldige (mogelijk lege) reeks operatortekens zijn, ingebouwd of door de gebruiker gedefinieerd. U kunt deze tabel dus gebruiken om te bepalen welke reeks tekens moet worden gebruikt voor een aangepaste operator om het gewenste prioriteitsniveau te bereiken. Voorlooptekens . worden genegeerd wanneer de compiler de prioriteit bepaalt.