Naslaginformatie voor symbolen en operatoren

Dit artikel bevat tabellen met een beschrijving van de symbolen en operators 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 Koppelingen Description
(*...*) 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 Voorvoegsel van 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 Koppelingen Description
" Tekenreeksen Een tekenreeks met scheidingstekens.
@" Tekenreeksen Hiermee start u een exacte tekenreeks, die mogelijk backslashes en andere tekens bevat.
""" Tekenreeksen Hiermee wordt een tekenreeks met drie aanhalingstekens gescheiden, zoals backslashes, dubbele aanhalingstekens en andere tekens.
$" Geïnterpoleerde tekenreeksen Hiermee start u een geïnterpoleerde tekenreeks.
' Literals Scheidingstekens voor letterlijke tekens van één teken.
``...`` Hiermee wordt een id gescheiden die anders geen juridische id zou zijn, zoals een taalwoord.
\ Tekenreeksen Escapet het volgende teken; gebruikt in letterlijke tekens en tekenreeksen.

Wiskundige operatoren

In de volgende tabel worden de rekenkundige operatoren beschreven.

Symbool of operator Koppelingen Description
+ Rekenkundige operatoren
  • Bij gebruik als binaire operator worden de linker- en rechterkant toegevoegd.
  • Bij gebruik als unaire operator wordt een positieve hoeveelheid aangegeven. (Formeel produceert het dezelfde waarde met het teken ongewijzigd.)
- Rekenkundige operatoren
  • Bij gebruik als binaire operator trekt u de rechterkant van de linkerkant af.
  • Bij gebruik als unaire operator voert u een negatiebewerking uit.
* Rekenkundige operatoren

Tupels

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

Maateenheden
  • Verdeelt de linkerkant (teller) door de rechterkant (noemer).
  • Wordt gebruikt in maateenheidtypen.
% Rekenkundige operatoren Berekent het restgetal van het gehele getal.
** Rekenkundige operatoren Berekent de exponentiëringsbewerking (x ** y betekent x tot de macht van y).

Vergelijkingsoperatoren

In de volgende tabel worden de vergelijkingsoperatoren beschreven.

Symbool of operator Koppelingen Description
< 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 het resultaat geretourneerd false.
> Rekenkundige operatoren Retourneert als de linkerkant true groter is dan de rechterkant; anders wordt als resultaat gegeven 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 wiskundige en booleaanse operatorsymbolen beschreven.

Symbool of operator Koppelingen Description
&& Booleaanse operators Berekent de Booleaanse EN-bewerking.
|| Booleaanse operators Berekent de Booleaanse OR-bewerking.

Bitsgewijze operatoren

In de volgende tabel worden bitsgewijze operators beschreven.

Symbool of operator Koppelingen Description
&&& Bitsgewijze operators Berekent de bitsgewijze AND-bewerking.
<<< Bitsgewijze operators Hiermee worden bits in de hoeveelheid aan de linkerkant naar links verplaatst door het aantal bits dat aan de rechterkant is opgegeven.
>>> Bitsgewijze operators Hiermee worden bits in de hoeveelheid aan de linkerkant naar rechts verplaatst door het aantal plaatsen dat aan de rechterkant is opgegeven.
^^^ Bitsgewijze operators Berekent de bitwise exclusieve OR-bewerking.
||| Bitsgewijze operators Berekent de bitsgewijze OR-bewerking.
~~~ Bitsgewijze operators Berekent de bitwise NOT-bewerking.

Functiesymbolen en operatoren

In de volgende tabel worden de operators en symbolen beschreven die betrekking hebben op functies.

Symbool of operator Koppelingen Description
-> Functies In functie-expressies wordt het invoerpatroon gescheiden van de uitvoerexpressie.
|> Functies Hiermee wordt het resultaat van de linkerkant doorgegeven aan de functie aan de rechterkant (doorstuurpijpoperator).
||> ( ||> )<'T1,'T2,'U> , functie Hiermee wordt de tuple van twee argumenten aan de linkerkant doorgegeven aan de functie aan de rechterkant.
|||> ( |||> )<'T1,'T2,'T3,'U> , functie Hiermee wordt de tupel van drie argumenten aan de linkerkant doorgegeven aan de functie aan de rechterkant.
>> Functies Stelt twee functies samen (doorstuurcompositieoperator).
<< Functies Stelt twee functies in omgekeerde volgorde samen; de tweede wordt eerst uitgevoerd (achterwaartse samenstellingsoperator).
<| Functies Geeft het resultaat van de expressie aan de rechterkant door aan de functie aan de linkerkant (operator voor achterwaartse pijpen).
<|| ( <|| )<' T1,'T2,'U> , functie Hiermee wordt de tuple van twee argumenten aan de rechterkant doorgegeven 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 typeannotatie en typetests.

Symbool of operator Koppelingen Description
-> Functies In functietypen worden argumenten en retourwaarden gescheiden en wordt ook een resultaat in reeksexpressies geretourneerd.
: Functies In een typeaantekening scheidt u een parameter of lidnaam van het type.
:> Cast-conversies en conversies Converteert een type naar een type dat hoger is in de hiërarchie.
:? Expressies vergelijken Retourneert true of de waarde overeenkomt met het opgegeven type (inclusief als het een subtype is); anders wordt (typetestoperator) geretourneerd false .
:?> Cast-conversies en conversies Converteert een type naar een type dat lager in de hiërarchie is.
# Flexibele typen Bij gebruik met een type wordt een flexibel type aangegeven, dat verwijst naar een type of een van de afgeleide typen.
' Automatische generalisatie Geeft een algemene typeparameter aan.
<...> Automatische generalisatie Type parameters voor scheidingstekens.
^ Parameters voor statisch opgelost type

Tekenreeksen
  • Hiermee geeft u typeparameters op die moeten worden omgezet tijdens het compileren, 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 voor leden

In de volgende tabel worden aanvullende symbolen beschreven die worden gebruikt in opzoek- en segmentexpressies voor leden.

Symbool of operator Koppelingen Description
. Leden Hiermee wordt een lid geopend en worden afzonderlijke namen gescheiden in een volledig gekwalificeerde naam.
[...] of .[...] Matrices

Geïndexeerde eigenschappen

Segmentexpressies
Indexeert in een matrix, tekenreeks of verzameling of neemt een segment van een verzameling.

Symbolen die worden gebruikt in tuple, lijst, matrix, eenheidexpressies en patronen

In de volgende tabel worden symbolen beschreven die betrekking hebben op tuples, lijsten, eenheidswaarden en matrices.

Symbool of operator Koppelingen Description
( ) Type eenheid Vertegenwoordigt de enkele waarde van het eenheidstype.
, Tupels Scheidt de elementen van een tuple of typ parameters.
:: Lijsten

Expressies vergelijken
  • Hiermee maakt u een lijst. Het element aan de linkerkant wordt voorafgegaan door de lijst aan de rechterkant.
  • Wordt gebruikt in patroonkoppeling om de delen van een lijst te scheiden.
@ Lijsten Voegt twee lijsten samen.
[...] Lijsten Hiermee worden de elementen van een lijst gescheiden.
[|...|] Matrices 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 Koppelingen Description
<- Waarden Hiermee wordt een waarde toegewezen 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 Koppelingen Description
-> Reeksen Geeft een expressie (in reeksexpressies); gelijk aan de do yield trefwoorden.
! Berekeningsexpressies Na een trefwoord wordt een gewijzigde versie van het gedrag van het trefwoord aangegeven, zoals bepaald door een berekeningsexpressie.

Aanvullende symbolen die worden gebruikt in overeenkomende patronen

In de volgende tabel worden symbolen beschreven die betrekking hebben op patroonkoppeling.

Symbool of operator Koppelingen Description
-> Expressies vergelijken Wordt gebruikt in overeenkomende expressies.
& Expressies vergelijken
  • Berekent het adres van een veranderlijke waarde voor gebruik bij het samenwerken met andere talen.
  • Gebruikt in AND-patronen.
_ Expressies vergelijken

Generics
  • Geeft een jokertekenpatroon aan.
  • Hiermee geeft u een anonieme algemene parameter.
| Expressies vergelijken Afzonderlijke overeenkomstgevallen, 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 Koppelingen Description
(|...|) Actieve patronen Scheidingstekens voor een actieve patroonnaam. Ook wel banaanclips genoemd.
? Parameters en argumenten Hiermee geeft u een optioneel argument.
~~ Overbelasting van operator Wordt gebruikt om een overbelasting voor de unaire negatieoperator te declareren.
~- Overbelasting van operator Wordt gebruikt om een overbelasting voor de unaire min-operator te declareren.
~+ Overbelasting van operator Wordt gebruikt om een overbelasting voor de unaire plusoperator te declareren.

Aanvullende symbolen die worden gebruikt in aanhalingstekens

In de volgende tabel worden symbolen beschreven die betrekking hebben op code-aanhalingstekens.

Symbool of operator Koppelingen Description
<@...@> Code-aanhalingstekens Scheidingstekens voor een getypte codeaanhalingsteken.
<@@...@@> Code-aanhalingstekens Scheidingstekens voor een niet-getypte codeaanhalingsteken.
% Code-aanhalingstekens Wordt gebruikt voor het segmenteren van expressies in getypte code-aanhalingstekens.
%% Code-aanhalingstekens Wordt gebruikt voor het segmenteren van expressies in niet-getypte code-aanhalingstekens.

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 Koppelingen Description
? 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-operators worden gedefinieerd voor gebruik in Query-expressies. In de volgende tabel ziet u deze operators.

Symbool of operator Koppelingen Description
%? Null-operatoren Berekent de rest van het gehele getal wanneer de rechterkant een null-type is.
*? Null-operatoren Vermenigvuldigt de linker- en rechterkant, wanneer de rechterkant een null-type is.
+? Null-operatoren Hiermee voegt u de linker- en rechterkant toe 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 aan de rechterkant, wanneer de rechterkant een null-type is.
<? Null-operatoren Berekent de minder dan bewerking wanneer de rechterkant een null-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 operatoren zonder ? voorvoegsel, waarbij een null-type aan de linkerkant staat.
>=?, >?, <=?, <?, =?, <>?, +?, -?, *?, /? Null-operatoren Gelijk aan de overeenkomstige operatoren zonder ? achtervoegsel, waarbij een null-type 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 Koppelingen Description
! Verwijzingscellen Deductie van een verwijzingscel.
:= Verwijzingscellen Hiermee wordt een waarde toegewezen aan een verwijzingscel.

Bewerkingsvolgorde van operators

In de volgende tabel ziet u de volgorde van prioriteit van operators en andere expressietrefwoorden in F#, op volgorde van laagste prioriteit tot de hoogste prioriteit. Ook vermeld is de associativiteit, indien van toepassing.

Operator Associativiteit
as Rechts
when Rechts
| (pijp) Links
; Rechts
let Niet-gekoppeld
function, fun, match, try Niet-gekoppeld
if Niet-gekoppeld
not Rechts
-> Rechts
:= Rechts
, Niet-gekoppeld
or, || Links
&, && Links
:>, :?> Rechts
<op, >op, =|op, op, &op, &$

(inclusief <<<, >>>, |||, ) &&&
Links
^Op

(inclusief ^^^)
Rechts
:: Rechts
:? Niet associatief
-op, +op Van toepassing op infixgebruik van deze symbolen
*op, /op, %op Links
**Op Rechts
f x (functietoepassing)

(inclusief lazy x, assert x)
Links
| (patroonovereenkomst) Rechts
operatoren voor voorvoegsels (+op, -op, %%%, , &, &&!op, ~op) Links
. Links
f(x) Links
f<Typen> Links

F# ondersteunt het overbelasten 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, ofwel 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 prioriteit bepaalt.

Zie ook