F # - operatory
Operator to symbol, który mówi kompilatorowi, aby wykonał określone operacje matematyczne lub logiczne. F # jest bogaty we wbudowane operatory i udostępnia następujące typy operatorów -
- Operatory arytmetyczne
- Operatory porównania
- Operatory boolowskie
- Operatory bitowe
Operatory arytmetyczne
W poniższej tabeli przedstawiono wszystkie operatory arytmetyczne obsługiwane przez język F #. Załóżmy, że zmienna A zawiera 10, a zmienna B 20, a następnie -
Pokaż przykład
Operator | Opis | Przykład |
---|---|---|
+ | Dodaje dwa operandy | A + B da 30 |
- | Odejmuje drugi operand od pierwszego | A - B da -10 |
* | Mnoży oba operandy | A * B da 200 |
/ | Dzieli licznik przez de-licznik | B / A da 2 |
% | Operator modułu i reszta po dzieleniu całkowitoliczbowym | B% A da 0 |
** | Operator potęgowania podnosi operand do potęgi innego | B ** A da 20 10 |
Operatory porównania
W poniższej tabeli przedstawiono wszystkie operatory porównania obsługiwane przez język F #. Te binarne operatory porównania są dostępne dla typów całkowitych i zmiennoprzecinkowych. Te operatory zwracają wartości typu bool.
Załóżmy, że zmienna A zawiera 10, a zmienna B 20, a następnie -
Pokaż przykład
Operator | Opis | Przykład |
---|---|---|
= | Sprawdza, czy wartości dwóch operandów są równe, czy nie, jeśli tak, warunek staje się prawdziwy. | (A == B) nie jest prawdą. |
<> | Sprawdza, czy wartości dwóch operandów są równe, czy nie, jeśli wartości nie są równe, warunek staje się prawdziwy. | (A <> B) jest prawdą. |
> | Sprawdza, czy wartość lewego operandu jest większa niż wartość prawego operandu. Jeśli tak, warunek staje się prawdziwy. | (A> B) nie jest prawdą. |
< | Sprawdza, czy wartość lewego operandu jest mniejsza niż wartość prawego operandu, jeśli tak, warunek staje się prawdziwy. | (A <B) jest prawdą. |
> = | Sprawdza, czy wartość lewego operandu jest większa lub równa wartości prawego operandu, jeśli tak, warunek staje się prawdziwy. | (A> = B) nie jest prawdą. |
<= | Sprawdza, czy wartość lewego operandu jest mniejsza lub równa wartości prawego operandu, jeśli tak, warunek staje się prawdziwy. | (A <= B) jest prawdą. |
Operatory boolowskie
W poniższej tabeli przedstawiono wszystkie operatory logiczne obsługiwane przez język F #. Załóżmy, że zmienna A się utrzymujetrue i zmienna B. false, wtedy -
Pokaż przykład
Operator | Opis | Przykład |
---|---|---|
&& | Nazywany operatorem logicznym AND. Jeśli oba operandy są niezerowe, warunek staje się prawdziwy. | (A && B) jest fałszem. |
|| | Nazywany operatorem logicznym OR. Jeśli którykolwiek z dwóch operandów jest niezerowy, warunek staje się prawdziwy. | (A || B) jest prawdą. |
nie | Nazywany operatorem Boolean NOT. Służy do odwracania stanu logicznego operandu. Jeśli warunek jest spełniony, operator logiczny NOT spowoduje fałsz. | nie (A && B) jest prawdą. |
Operatory bitowe
Operatory bitowe pracują na bitach i wykonują operacje bit po bicie. Tabele prawdy dla &&& (bitowe AND), ||| (bitowe OR) i ^^^ (bitowe OR) są następujące -
Pokaż przykład
p | q | p &&& q | p ||| q | p ^^^ q |
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
Załóżmy, że A = 60; i B = 13; teraz w formacie binarnym będą wyglądać następująco -
A = 0011 1100
B = 0000 1101
-----------------A &&& B = 0000 1100
A ||| B = 0011 1101
A ^^^ B = 0011 0001
~~~ A = 1100 0011
W poniższej tabeli wymieniono operatory bitowe obsługiwane przez język F #. Załóżmy, że zmienna A zawiera 60, a zmienna B 13, a następnie -
Operator | Opis | Przykład |
---|---|---|
&&& | Operator binarny AND kopiuje trochę do wyniku, jeśli istnieje w obu operandach. | (A &&& B) da 12, czyli 0000 1100 |
||| | Operator binarny OR kopiuje bit, jeśli istnieje w którymkolwiek z operandów. | (A ||| B) da 61, czyli 0011 1101 |
^^^ | Binarny operator XOR kopiuje bit, jeśli jest ustawiony w jednym operandzie, ale nie w obu. | (A ^^^ B) daje 49, czyli 0011 0001 |
~~~ | Operator dopełniacza binarnego jest jednoargumentowy i powoduje „odwracanie” bitów. | (~~~ A) da -61, czyli 1100 0011 w postaci dopełnienia do 2. |
<<< | Binarny operator przesunięcia w lewo. Wartość lewego operandu jest przesuwana w lewo o liczbę bitów określoną przez prawy operand. | <<< 2 da 240, czyli 1111 0000 |
>>> | Binarny operator przesunięcia w prawo. Wartość lewego operandu jest przesuwana w prawo o liczbę bitów określoną przez prawy operand. | >>> 2 da 15, czyli 0000 1111 |
Pierwszeństwo operatorów
W poniższej tabeli przedstawiono kolejność pierwszeństwa operatorów i innych słów kluczowych wyrażeń w języku F #, od najniższego do najwyższego priorytetu.
Pokaż przykład
Operator | Łączność |
---|---|
tak jak | Dobrze |
gdy | Dobrze |
| (rura) | Lewo |
; | Dobrze |
pozwolić | Niezespolone |
funkcja, zabawa, dopasowanie, próba | Niezespolone |
gdyby | Niezespolone |
→ | Dobrze |
: = | Dobrze |
, | Niezespolone |
lub || | Lewo |
&, && | Lewo |
<op,> op, =, | op i op | Lewo |
&&&, |||, ^^^, ~~~, <<<, >>> | Lewo |
^ op | Dobrze |
:: | Dobrze |
:?>,:? | Niezespolone |
- op, + op, (binarne) | Lewo |
* op, / op,% op | Lewo |
** op | Dobrze |
fx (aplikacja funkcji) | Lewo |
| (dopasowanie do wzorca) | Dobrze |
operatory prefiksów (+ op, -op,%, %%, &, &&,! op, ~ op) | Lewo |
. | Lewo |
f (x) | Lewo |
f <types> | Lewo |