Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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 |
|
- |
Aritmetické operátory |
|
* |
Aritmetické operátory řazené kolekce členů Měrné jednotky |
|
/ |
Aritmetické operátory Měrné jednotky |
|
% |
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 |
|
{} |
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í |
|
@ |
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ů |
|
_ |
Výrazy pro porovnávání Generika |
|
| |
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.