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 |
|
- |
Aritmetické operátory |
|
* |
Aritmetické operátory N-tice Měrné jednotky |
|
/ |
Aritmetické operátory Měrné jednotky |
|
% |
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 |
|
{} |
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 |
|
@ |
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 |
|
_ |
Výrazy shody Obecné typy |
|
| |
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.