Справочник символов и операторов (F#)
В этом разделе приведена таблица символов и операторов, которые используются в языке F#.
Таблица символов и операторов
Следующая таблица содержит описание символов, которые используются в языке F#, ссылки на разделы с более подробной информацией и краткое описание возможностей использования этих символов.Символы упорядочены в соответствии с порядком кодировки ASCII.
Символ или оператор |
Ссылки |
Описание |
---|---|---|
! |
|
|
!= |
Неприменимо. |
|
" |
|
|
""" |
Дословную отделяет текстовую строку., Отличается от @"..." тем, что a отображается знак кавычки можно с помощью одинарных кавычек в строке. |
|
# |
|
|
$ |
Дополнительные сведения недоступны. |
|
% |
|
|
%? |
Вычисляет модуль целые числа, если правая часть тип, допускающий значение NULL. |
|
& |
|
|
&& |
|
|
&&& |
|
|
' |
|
|
``...`` |
Дополнительные сведения недоступны. |
|
( ) |
|
|
(...) |
|
|
(*...*) |
|
|
(|...|) |
|
|
* |
|
|
*? |
|
|
** |
|
|
+ |
|
|
+? |
|
|
, |
|
|
- |
|
|
- |
|
|
-> |
|
|
. |
|
|
.. |
|
|
.. .. |
|
|
.[...] |
|
|
/ |
|
|
/? |
|
|
// |
|
|
/// |
|
|
: |
|
|
:: |
|
|
:= |
|
|
:> |
|
|
:? |
|
|
:?> |
|
|
; |
|
|
< |
|
|
<? |
Вычисляет, чем операции, если правая часть тип, допускающий значение NULL. |
|
<< |
|
|
<<< |
|
|
<- |
|
|
<...> |
|
|
<> |
|
|
<>? |
|
|
<= |
|
|
<=? |
|
|
<| |
|
|
<|| |
|
|
<||| |
|
|
<@...@> |
|
|
<@@...@@> |
|
|
= |
|
|
=? |
|
|
== |
Неприменимо. |
|
> |
|
|
>? |
|
|
>> |
|
|
>>> |
|
|
>= |
|
|
>=? |
|
|
? |
|
|
? ... <- ... |
Дополнительные сведения недоступны. |
|
?>=, ?>, ?<=, ?<, ?=, ?<>, ?+, ?-, ?*, ?/ |
|
|
>=?, >?, <=?, <?, =?, <>?, +?, -?, *?, /? |
|
|
?>=?, ?>?, ?<=?, ?<?, ?=?, ?<>?, ?+?, ?-?, ?*?, ?/? |
|
|
@ |
|
|
[...] |
|
|
[|...|] |
|
|
[<...>] |
|
|
\ |
|
|
^ |
|
|
^^^ |
|
|
_ |
|
|
` |
|
|
{...} |
|
|
| |
|
|
|| |
|
|
||| |
|
|
|> |
|
|
||> |
|
|
|||> |
|
|
~~ |
|
|
~~~ |
|
|
~- |
|
|
~+ |
|
Приоритет операторов
В следующей таблице указана очередность применения операторов и других ключевых слов выражений для языка F# (в порядке возрастания приоритета).Также, когда это возможно, указана ассоциативность.
Оператор |
Ассоциативность |
---|---|
as |
Right |
when |
Right |
| (вертикальная черта) |
Left |
; |
Right |
let |
Неассоциативный |
function, fun, match, try |
Неассоциативный |
if |
Неассоциативный |
-> |
Right |
:= |
Right |
, |
Неассоциативный |
or, || |
Left |
&, && |
Left |
<op, >op, =, |op, &op |
Left |
&&&, |||, ^^^, ~~~, <<<, >>> |
Left |
^op |
Right |
:: |
Right |
:?>, :? |
Неассоциативный |
-op, +op, (двоичный) |
Left |
*op, /op, %op |
Left |
**op |
Right |
f x (применение функции) |
Left |
| (соответствие шаблону) |
Right |
Префиксные операторы (+op-op, %, %% &, & &,!op, ~op) |
Left |
. |
Left |
f(x) |
Left |
f<types> |
Left |
F# поддерживает пользовательскую перегрузку операторов.Это значит, что пользователь может определять собственные операторы.В предыдущей таблице op может быть любой допустимой (возможно, пустой) последовательностью символов операторов как встроенной, так и определенной пользователем.Таким образом, этой таблицей можно пользоваться, чтобы определить, какую последовательность символов использовать для пользовательского оператора, чтобы добиться желаемого приоритета.Символы . в начале строки игнорируются, когда компилятор определяет приоритет.