Delen via


Naslaginformatie voor symbolen en operatoren

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
  • Wanneer deze wordt gebruikt als een binaire operator, voegt u de linker- en rechterzijden toe.
  • Wanneer deze wordt gebruikt als een unaire operator, geeft een positieve hoeveelheid aan. (Formeel produceert het dezelfde waarde met het teken ongewijzigd.)
- Rekenkundige operatoren
  • Wanneer deze wordt gebruikt als een binaire operator, trekt u de rechterkant van de linkerkant af.
  • Bij gebruik als unaire operator voert u een negatiebewerking uit.
* Rekenkundige operatoren

tuples

Maateenheden
  • Wanneer deze wordt gebruikt als een binaire operator, vermenigvuldigt u de linker- en rechterkant.
  • In typen wordt het koppelen in een tuple aangegeven.
  • Wordt gebruikt in maateenheidtypen.
/ Rekenkundige operatoren

Maateenheden
  • Verdeelt de linkerkant (teller) aan de rechterkant (noemer).
  • Wordt gebruikt in maateenheidtypen.
% 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
  • Hiermee geeft u typeparameters op die tijdens het compileren moeten worden opgelost, niet tijdens runtime.
  • Voegt tekenreeksen samen.
{} 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
  • Hiermee maakt u een lijst. Het element aan de linkerkant wordt voorafgegaan door de lijst aan de rechterkant.
  • Wordt gebruikt in patroonkoppeling om de onderdelen van een lijst te scheiden.
@ 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
  • Berekent het adres van een veranderlijke waarde voor gebruik bij het samenwerken met andere talen.
  • Wordt gebruikt in AND-patronen.
_ Match-uitdrukkingen

Generics
  • Geeft een jokertekenpatroon aan.
  • Hiermee geeft u een anonieme algemene parameter.
| 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.

Zie ook