Sdílet prostřednictvím


Odkaz na symbol a operátor

Tento článek obsahuje tabulky popisující symboly a operátory, které se používají v jazyce F# a obsahují stručný popis jednotlivých operátorů. 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 související s komentáři, direktivami kompilátoru a atributy.

Symbol nebo operátor Odkazy Popis
(*...*) Odděluje komentář, který může přesahovat více řádků.
// Označuje začátek jednořádkového komentáře.
/// Dokumentace XML Označuje komentář XML.
# Direktivy kompilátoru Předpony preprocesoru nebo direktivy kompilátoru.
[<...>] Atributy Odděluje atribut.

Symboly řetězců a identifikátorů

Následující tabulka popisuje symboly související s řetězci.

Symbol nebo operátor Odkazy Popis
" Řetězce Odděluje textový řetězec.
@" Řetězce Spustí doslovný textový řetězec, který může obsahovat zpětná lomítka a další 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ězec.
' literály Odděluje literál s jedním znakem.
``...`` Odděluje identifikátor, který by jinak nebyl právním identifikátorem, například klíčové slovo jazyka.
\ Řetězce Unikne 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 Popis
+ Aritmetické operátory
  • Pokud se používá jako binární operátor, přidá levou a pravou stranu.
  • Pokud se používá jako unární operátor, označuje kladné množství. (Formálně vytvoří stejnou hodnotu se znaménkem beze změny.)
- Aritmetické operátory
  • Při použití jako binární operátor odečte pravou stranu od levé strany.
  • Pokud se používá jako unární operátor, provede operaci negace.
* Aritmetické operátory

řazené kolekce členů

Měrné jednotky
  • Při použití jako binární operátor vynásobí levé a pravé strany.
  • V typech označuje párování v řazené kolekci členů.
  • Používá se v jednotkách typů měr.
/ Aritmetické operátory

Měrné jednotky
  • Vydělí levou stranu (čitatel) pravou stranou (jmenovatel).
  • Používá se v jednotkách typů měr.
% Aritmetické operátory Vypočítá zbytek celého čísla.
** Aritmetické operátory Vypočítá exponenciální operaci (x ** y znamená x mocninu y).

Porovnávací operátory

Následující tabulka popisuje relační operátory.

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

Booleovské operátory

Následující tabulka popisuje symboly aritmetických a logických operátorů.

Symbol nebo operátor Odkazy Popis
&& Logické operátory Vypočítá logickou operaci AND.
|| Logické operátory Vypočítá logickou operaci OR.

bitové operátory

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

Symbol nebo operátor Odkazy Popis
&&& bitové operátory Vypočítá bitové operace AND.
<<< bitové operátory Posune bity v množství na levé straně doleva o počet bitů zadaných na pravé straně.
>>> bitové operátory Posune bity v množství na levé straně doprava o počet míst zadaných na pravé straně.
^^^ bitové operátory Vypočítá bitové exkluzivní operace OR.
||| bitové operátory Vypočítá bitové operace OR.
~~~ bitové operátory Vypočítá operaci BITWISE NOT.

Symboly a operátory funkcí

Následující tabulka popisuje operátory a symboly související s funkcemi.

Symbol nebo operátor Odkazy Popis
-> Functions Ve výrazech funkce odděluje vstupní vzor od výstupního výrazu.
|> Functions Předá výsledek levé strany funkci na pravé straně (operátor dopředného potrubí).
||> ( ||> )<'T1,'T2,'U> – funkce Předá řazenou kolekci členů dvou argumentů na levé straně funkci na pravé straně.
|||> ( |||> )<'T1,'T2,'T3,'U> – funkce Předá řazenou kolekci členů tří argumentů na levé straně funkci na pravé straně.
>> Functions Vytvoří dvě funkce (operátor pro předávání složení).
<< Functions Vytvoří dvě funkce v obráceném pořadí; druhý je proveden jako první (operátor zpětného složení).
<| Functions Předá výsledek výrazu na pravé straně funkci na levé straně (operátor zpětného potrubí).
<|| ( <|| )<' T1,'T2,'U> – funkce Předá řazenou kolekci členů dvou argumentů na pravé straně funkci na levé straně.
<||| ( <||| )< ' T1,'T2,'T3,'U> – funkce Předá řazenou kolekci tří argumentů na pravé straně funkci na levé straně.

Symboly a operátory typu

Následující tabulka popisuje symboly související s typem anotace a testy typů.

Symbol nebo operátor Odkazy Popis
-> Functions V typech funkcí odděluje argumenty a návratové hodnoty, také vrací výsledek v sekvenčních výrazech.
: Functions V poznámce k typu odděluje parametr nebo název člena od jeho typu.
:> Přetypování a převody Převede typ na typ, který je v hierarchii vyšší.
:? Výrazy pro porovnávání Vrátí true , pokud hodnota odpovídá zadanému typu (včetně toho, zda je podtyp), v opačném případě vrátí hodnotu false (operátor testu typu).
:?> Přetypování a převody Převede typ na typ, který je v hierarchii nižší.
# Flexibilní typy Při použití s typem označuje flexibilní typ, který odkazuje na typ nebo jakýkoli z jeho odvozených typů.
' Automatická generalizace Označuje parametr obecného typu.
<...> Automatická generalizace Odděluje parametry typu.
^ Staticky vyřešené parametry typu

Řetězce
  • Určuje parametry typu, které musí být vyřešeny v době kompilace, ne v době běhu.
  • Zřetězí řetězce.
{} Třída nebo záznam Při použití s klíčovým slovem type odděluje třídu nebo záznam. Typ je třída, pokud jsou členy deklarovány nebo class je použito klíčové slovo. Jinak se jedná o záznam.
{||} Anonymní záznam Označuje anonymní záznam.

Symboly použité ve výrazech pro vyhledávání členů a řezy

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

Symbol nebo operátor Odkazy Popis
. Members Přistupuje k členu a odděluje jednotlivé názvy v plně kvalifikovaném názvu.
[...] nebo .[...] polí

Indexované vlastnosti

Výrazy řezu
Indexuje do pole, řetězce nebo kolekce nebo přebírá řez kolekce.

Symboly používané v řazené kolekci členů, seznamu, poli, výrazech jednotek a vzorech

Následující tabulka popisuje symboly související s řazenými kolekcemi členů, seznamy, hodnotami jednotek a poli.

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

Výrazy pro porovnávání
  • Vytvoří seznam. Prvek 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.
[|...|] polí 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 Popis
<- Hodnoty Přiřadí hodnotu proměnné.
; Podrobná syntaxe

Odděluje výrazy (většinou se používají v podrobné syntaxi). Odděluje také prvky seznamu nebo polí záznamu.

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

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

Symbol nebo operátor Odkazy Popis
-> Sekvence Vytvoří výraz (v sekvenčních výrazech); do yield ekvivalentní klíčovým slovům.
! Výpočetní výrazy Po klíčovém slově označuje upravenou verzi chování klíčového slova řízenou výpočetním výrazem.

Další symboly použité ve vzorech shody

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

Symbol nebo operátor Odkazy Popis
-> Výrazy pro porovnávání Používá se ve výrazech shody.
& Porovnávání vzorů
  • Vypočítá adresu proměnlivé hodnoty pro použití při spolupráci s jinými jazyky.
  • Používá se ve vzorech AND.
_ Výrazy pro porovnávání

Generika
  • Označuje vzor se zástupnými znamény.
  • Určuje anonymní obecný parametr.
| Výrazy pro porovnávání Odděluje jednotlivé případy shody, jednotlivé diskriminované případy sjednocení a hodnoty výčtu.

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

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

Symbol nebo operátor Odkazy Popis
(|...|) aktivních vzorů Odděluje název aktivního vzoru. Říká se také banánové klipy.
? Parametry a argumenty Určuje volitelný argument.
~~ Přetížení operátoru Slouží k deklaraci přetížení pro unární negační operátor.
~- Přetížení operátoru Slouží k deklaraci přetížení pro unární mínus operátor.
~+ Přetížení operátoru Slouží k deklaraci přetížení unárního operátoru plus.

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

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

Symbol nebo operátor Odkazy Popis
<@...@> Uvozovky kódu Odděluje typovou uvozovku kódu.
<@@...@@> Uvozovky kódu Odděluje netypovou uvozovku kódu.
% Uvozovky kódu Používá se pro splicing výrazů do uvozovek s typem kódu.
%% Uvozovky kódu Používá se pro splicing výrazy do netypových uvozovek kódu.

Dynamické vyhledávací operátory

Následující tabulka popisuje další symboly používané v dynamických vyhledávacích výrazech. Obecně se nepoužívají v rutinní programování jazyka F# a v základní knihovně jazyka F# nejsou k dispozici žádné implementace těchto operátorů.

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

Operátory s možnou hodnotou null v dotazech

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

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

Odkazové operátory buněk (zastaralé)

Následující tabulka popisuje symboly související s odkazy na buňky. Použití těchto operátorů generuje poradní zprávy v jazyce F# 6. Další informace naleznete v tématu Referenční zprávy poradce pro operace buněk.

Symbol nebo operátor Odkazy Popis
! Referenční buňky Dereference odkazuje na buňku.
:= Referenční buňky Přiřadí hodnotu k buňce odkazu.

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 Asociativnost
as Správně
when Správně
| (potrubí) Vlevo
; Správně
let Nonassociative
function, fun, , matchtry Nonassociative
if Nonassociative
not Správně
-> Správně
:= Správně
, Nonassociative
or, || Vlevo
&, && Vlevo
:>, :?> Správně
< op, >op, =, |op, op, op, &op, &, $

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

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

(včetně lazy x, assert x)
Vlevo
| (shoda vzorů) Správně
operátory předpon (+op, -op, %, %%&, , &&!op, ~op) Vlevo
. Vlevo
f(x) Vlevo
f< typy> Vlevo

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 op libovolná platná (možná prázdná) posloupnost znaků operátoru, buď předdefinovaná, nebo uživatelem definovaná. Tuto tabulku tedy můžete použít k určení pořadí znaků, které se má použít pro vlastní operátor k dosažení požadované úrovně priority. Počáteční . znaky se ignorují, když kompilátor určí prioritu.

Viz také