Reference k symbolům a operátorovi

Tento článek obsahuje tabulky popisující symboly a operátory, které jsou používány v jazyce F #, a poskytuje stručný popis každého z nich. Některé symboly a operátory mají při použití ve více rolích dvě nebo více položek.

Komentář, direktiva kompilátoru a symboly atributů

Následující tabulka popisuje symboly týkající se komentářů, direktiv kompilátoru a atributů.

Symbol nebo operátor Odkazy Description
(*...*) Odděluje komentář, který může být rozložen na více řádků.
// Označuje začátek jednořádkového komentáře.
/// dokumentace XML Označuje komentář XML.
# Direktivy kompilátoru Vytvoří předponu direktivy preprocesoru nebo kompilátoru.
[<...>] Atributy Naomezuje atribut.

Symboly řetězců a identifikátorů

V následující tabulce jsou popsány symboly související s řetězci.

Symbol nebo operátor Odkazy Description
" Řetězce Odděluje textový řetězec.
@" Řetězce Spustí doslovné textový řetězec, který může obsahovat zpětná lomítka a jiné znaky.
""" Řetězce Odděluje trojitý textový řetězec, který může obsahovat zpětná lomítka, dvojité uvozovky a další znaky.
$" Interpolované řetězce Spustí interpolované řetězce.
' Literály Odděluje literál s jedním znakem.
``...`` Odděluje identifikátor, který by jinak neměl být platným identifikátorem, například klíčové slovo jazyka.
\ Řetězce Řídí další znak; používá se ve znakových a řetězcových literálech.

Aritmetické operátory

Následující tabulka popisuje aritmetické operátory.

Symbol nebo operátor Odkazy Description
+ Aritmetické operátory
  • Při použití jako binárního operátoru přidá levou a pravou stranu.
  • Při použití jako unární operátor označuje kladné množství. (Formálně vytvoří stejnou hodnotu s znaménkem beze změny.)
- Aritmetické operátory
  • Při použití jako binárního operátoru odečte pravou stranu od levé strany.
  • Při použití jako unární operátor provádí operaci negace.
* Aritmetické operátory

N-tice

Měrné jednotky
  • Při použití jako binárního operátoru vynásobí levou a pravou stranu.
  • V typech označuje párování v řazené kolekci členů.
  • Používá se v jednotkách typů míry.
/ Aritmetické operátory

Měrné jednotky
  • Vydělí levou stranu (čitatel) na pravé straně (jmenovatel).
  • Používá se v jednotkách typů míry.
% Aritmetické operátory Vypočítá celočíselný zbytek.
** Aritmetické operátory Vypočítá operaci umocnění ( x ** y znamená x mocninu y ).

Relační operátory

V následující tabulce jsou popsány relační operátory.

Symbol nebo operátor Odkazy Description
< Aritmetické operátory Vypočítá méně než operaci.
<> Aritmetické operátory Vrátí true , zda levá strana není rovna pravé straně. v opačném případě vrátí hodnotu false.
<= Aritmetické operátory Vrátí true , zda je levá strana menší než nebo rovna pravé straně. v opačném případě vrátí hodnotu false .
= Aritmetické operátory Vrátí true , zda je levá strana rovna pravé straně. v opačném případě vrátí hodnotu false .
> Aritmetické operátory Vrátí true , zda je levá strana větší než pravá strana. v opačném případě vrátí hodnotu false .
>= Aritmetické operátory Vrátí true , zda je levá strana větší než nebo rovna pravé straně. v opačném případě vrátí hodnotu false .

Logické operátory

Následující tabulka popisuje symboly aritmetického a logického operátoru.

Symbol nebo operátor Odkazy Description
&& Logické operátory Vypočítá logickou hodnotu a operaci.
|| Logické operátory Vypočítá logickou hodnotu nebo operaci.

Bitové operátory

Následující tabulka obsahuje popis bitových operátorů.

Symbol nebo operátor Odkazy Description
&&& Bitové operátory Vypočítá bitovou a operaci.
<<< Bitové operátory Posune bity v množství na levé straně doleva o počet bitů určených na pravé straně.
>>> Bitové operátory Posune bity v množství na levé straně vpravo o počet míst určených na pravé straně.
^^^ Bitové operátory Vypočítá bitovou exkluzivní operaci nebo.
||| Bitové operátory Vypočítá logickou operaci nebo.
~~~ Bitové operátory Vypočítá bitovou nefunkčnost.

Symboly a operátory funkcí

Následující tabulka popisuje operátory a symboly týkající se funkcí.

Symbol nebo operátor Odkazy Description
-> Functions Ve výrazech funkce odděluje vstupní vzor od výstupního výrazu.
|> Functions Předá výsledek levé strany na funkci na pravé straně (operátor přesměrování přesměrování).
||> ( || ) < 1. t 2, funkce U > Předá do funkce na pravé straně řazené kolekce členů dvou argumentů na levé straně.
|||> ( ||| ) < 1, ne 2, t 3, funkce U > Předá do funkce na pravé straně řazenou kolekci členů tří argumentů na levé straně.
>> Functions Vytvoří dvě funkce (operátor předávaného skládání).
<< Functions Sestaví dvě funkce v obráceném pořadí; Druhá se spustí jako první (operátor zpětného skládání).
<| Functions Předá výsledek výrazu na pravé straně k funkci na levé straně (operátor zpětného posunu).
<|| ( || )<' T1, t 2, funkce U > Předá do funkce na levé straně řazené kolekce členů dvou argumentů na pravé straně.
<||| ( ||| )<' T1, 2, t 3, funkce U > Předá do funkce na levé straně řazené kolekce členů tří argumentů na pravé straně.

Symboly a operátory typu

V následující tabulce jsou popsány symboly související s anotací typu a testy typu.

Symbol nebo operátor Odkazy Description
-> Functions V typech funkcí mají oddělovač argumenty a návratové hodnoty také výsledek ve výrazech pořadí.
: Functions V anotaci typu odděluje parametr nebo název člena z jeho typu.
:> Přetypování a převody Převede typ na typ, který je v hierarchii vyšší.
:? Výrazy shody Vrátí true , zda hodnota odpovídá zadanému typu (včetně, pokud se jedná o podtyp); v opačném případě vrátí false (Type test operator).
:?> Přetypování a převody Převede typ na typ, který je níže v hierarchii.
# Flexibilní typy Při použití s typem, označuje flexibilní typ, který odkazuje na typ nebo některý z jeho odvozených typů.
' Automatická generalizace Označuje parametr obecného typu.
<...> Automatická generalizace Zamezí parametry typu.
^ Statisticky vyřešené parametry typu

Řetězce
  • Určuje parametry typu, které musejí být vyřešeny v době kompilace, nikoli v době běhu.
  • Zřetězí řetězce.
{} Třída nebo záznam Při použití s type klíčovým slovem omezuje třídu nebo záznam. Typ je třída při deklaraci členů nebo class použití klíčového slova. V opačném případě se jedná o záznam.
{||} Anonymní záznam Označuje anonymní záznam.

Symboly používané při vyhledávání členů a výrazech řezu

Následující tabulka popisuje další symboly používané při vyhledávání členů a výrazech řezu.

Symbol nebo operátor Odkazy Description
. Členové Přistupuje ke členu a odděluje jednotlivé názvy v plně kvalifikovaném názvu.
[...] nebo .[...] Pole

Indexované vlastnosti

Výrazy řezů
Provede indexy do pole, řetězce nebo kolekce, nebo vezme řez kolekce.

Symboly používané v řazených kolekcích členů, seznam, pole, výrazech jednotek a vzorcích

Následující tabulka popisuje symboly týkající se řazených kolekcí členů, seznamů, hodnot jednotek a polí.

Symbol nebo operátor Odkazy Description
( ) Typ jednotky Představuje jednu hodnotu typu jednotky.
, N-tice Odděluje prvky řazené kolekce členů nebo parametry typu.
:: Seznamy

Výrazy shody
  • Vytvoří seznam. Element na levé straně je před seznamem na pravé straně.
  • Používá se v porovnávání vzorů k oddělení částí seznamu.
@ Seznamy Zřetězí dva seznamy.
[...] Seznamy Odděluje prvky seznamu.
[|...|] Pole Odděluje prvky pole.

Symboly používané v imperativních výrazech

Následující tabulka popisuje další symboly používané ve výrazech.

Symbol nebo operátor Odkazy Description
<- Hodnoty Přiřadí hodnotu proměnné.
; Podrobná syntaxe

Odděluje výrazy (používá se hlavně v podrobné syntaxi). Také odděluje prvky seznamu nebo polí záznamu.

Další symboly používané v sekvencích a výpočetních výrazech

Následující tabulka popisuje další symboly používané v sekvencích avýpočetních výrazech.

Symbol nebo operátor Odkazy Description
-> Sekvence Vrátí výraz (v sekvenčních výrazech); odpovídá klíčovým slovům do yield .
! Výpočetní výrazy Za klíčovým slovem označuje upravenou verzi chování klíčového slova, jak je řízeno výpočetním výrazem.

Další symboly používané ve vzorech shody

Následující tabulka popisuje symboly související s porovnáváním vzorů.

Symbol nebo operátor Odkazy Description
-> Výrazy shody Používá se ve výrazech shody.
& Výrazy shody
  • Vypočítá adresu směšitelné hodnoty, která se použije při vzájemné spolupráci s jinými jazyky.
  • Používá se ve vzorech AND.
_ Výrazy shody

Obecné typy
  • Označuje vzor se zástupnými znaky.
  • Určuje anonymní obecný parametr.
| Výrazy shody Odděluje jednotlivé případy shody, jednotlivé případy rozlišování sjednocených a výčtové hodnoty.

Další symboly používané v deklaracích

Následující tabulka popisuje symboly související s deklaracemi.

Symbol nebo operátor Odkazy Description
(|...|) Aktivní vzorky Odděluje název aktivního vzoru. Říká se jim také banánové klipy.
? Parametry a argumenty Určuje volitelný argument.
~~ Přetížení operátoru Používá se k deklaraci přetížení pro operátor unární negace.
~- Přetížení operátoru Používá se k deklaraci přetížení unárního operátoru minus.
~+ Přetížení operátoru Používá se k deklaraci přetížení unárního operátoru plus.

Další symboly používané v uvozovkách

Následující tabulka popisuje symboly související s uvozovkami kódu.

Symbol nebo operátor Odkazy Description
<@...@> Uvozovky kódu Odděluje uvozovky s typem kódu.
<@@...@@> Uvozovky kódu Odděluje netypové uvozovky kódu.
% Uvozovky kódu Používá se pro spojování výrazů do uvozovek s typem kódu.
%% Uvozovky kódu Používá se pro spojování výrazů do netypových uvozovek kódu.

Dynamické operátory vyhledávání

Následující tabulka popisuje další symboly používané ve výrazech dynamického vyhledávání. Obvykle se používají v běžném programování v jazyce F# a v základní knihovně jazyka F# nejsou k dispozici žádné implementace těchto operátorů.

Symbol nebo operátor Odkazy Description
? Používá se jako operátor pro dynamickou metodu a volání vlastností.
? ... <- ... Používá se jako operátor pro nastavení dynamických vlastností.

Operátory s možnou hodnotou null v dotazech

Operátory s možnou hodnotou null se definují pro použití ve výrazech dotazu. Následující tabulka uvádí tyto operátory.

Symbol nebo operátor Odkazy Description
%? Operátory s povolenou hodnotou Null Vypočítá zbytek celého čísla, pokud je pravá strana typu s možnou hodnotou null.
*? Operátory s povolenou hodnotou Null Vynásobí levou a pravou stranu, pokud je pravá strana typu s možnou hodnotou null.
+? Operátory s povolenou hodnotou Null Přidá levou a pravou stranu, pokud je pravá strana typu s možnou hodnotou null.
-? Operátory s povolenou hodnotou Null Odečte pravou stranu od levé strany, pokud je pravá strana typu s možnou hodnotou null.
/? Operátory s povolenou hodnotou Null Vydělí levou stranu pravou stranou, pokud je pravá strana typu s možnou hodnotou null.
<? Operátory s povolenou hodnotou Null Vypočítá operaci menší než, pokud je pravá strana typu s možnou hodnotou null.
<>? Operátory s povolenou hodnotou Null Vypočítá operaci "nerovná se", pokud je pravá strana typu s možnou hodnotou null.
<=? Operátory s povolenou hodnotou Null Vypočítá operaci "menší než nebo rovno", pokud je pravá strana typu s možnou hodnotou null.
=? Operátory s povolenou hodnotou Null Vypočítá operaci "rovná se", pokud je pravá strana typu s možnou hodnotou null.
>? Operátory s povolenou hodnotou Null Vypočítá operaci "větší než", pokud je pravá strana typu s možnou hodnotou null.
>=? Operátory s povolenou hodnotou Null Vypočítá operaci "větší než nebo rovno", pokud je pravá strana typu s možnou hodnotou null.
?>=, ?>, ?<=, ?<, ?=, ?<>, ?+, ?-, ?*, ?/ Operátory s povolenou hodnotou Null Odpovídá odpovídajícím operátorům bez operátoru ? prefix, kde vlevo je typ s možnou hodnotou null.
>=?, >?, <=?, <?, =?, <>?, +?, -?, *?, /? Operátory s povolenou hodnotou Null Odpovídá odpovídajícím operátorům bez operátoru ? přípona , kde je vpravo typ s možnou hodnotou null.
?>=?, ?>?, ?<=?, ?<?, ?=?, ?<>?, ?+?, ?-?, ?*?, ?/? Operátory s povolenou hodnotou Null Odpovídá odpovídajícím operátorům bez okolních otazníků, kde obě strany jsou typy s možnou hodnotou null.

Operátory referenční buňky (zastaralé)

Následující tabulka popisuje symboly související s referenčními buňkami. Použití těchto operátorů generuje zprávy o poradenství od jazyka F# 6. Další informace najdete v tématu Referenční zprávy poradce pro operace buňky.

Symbol nebo operátor Odkazy Description
! Referenční buňky Přeskakuje odkaz na buňku.
:= Referenční buňky Přiřadí hodnotu referenční buňce.

Priorita operátorů

Následující tabulka ukazuje pořadí priorit operátorů a dalších klíčových slov výrazů v jazyce F# v pořadí od nejnižší priority po nejvyšší prioritu. V seznamu je také asociativita( pokud je k dispozici).

Operátor Asociativita
as Vpravo
when Vpravo
| (kanál) Left
; Vpravo
let Neasociativní
function, fun, match, try Neasociativní
if Neasociativní
not Vpravo
-> Vpravo
:= Vpravo
, Neasociativní
or, || Left
&, && Left
:>, :?> Vpravo
<<, >>, =, |=, &|, &, $

(včetně <<<, >>>, |||, &&&)
Left
^^

(včetně ^^^)
Vpravo
:: Vpravo
:? Asociativní
--, ++ Platí pro infixní použití těchto symbolů.
**, //, %% Left
**** Vpravo
f x (aplikace funkcí)

(včetně lazy x, assert x)
Left
| (shoda vzoru) Vpravo
operátory prefix (++, --, %, %%, &, &&, !%, ~%%) Left
. Left
f(x) Left
f<f<> Left

Jazyk F# podporuje přetížení vlastního operátoru. To znamená, že můžete definovat vlastní operátory. V předchozí tabulce může být operace libovolná platná (pravděpodobně prázdná) posloupnost znaků operátoru, buď předdefinovaných, nebo definovaných uživatelem. Tuto tabulku tedy můžete použít k určení sekvence znaků, které se mají použít pro vlastní operátor k dosažení požadované úrovně priority. Počáteční . znaky jsou ignorovány, pokud kompilátor určuje prioritu.

Viz také