Simbol dan referensi operator
Artikel ini mencakup tabel yang menjelaskan simbol dan operator yang digunakan dalam F# dan memberikan deskripsi singkat masing-masingnya. Beberapa simbol dan operator memiliki dua atau beberapa entri bila digunakan dalam beberapa peran.
Simbol komentar, direktif pengompilasi, dan atribut
Tabel berikut ini menjelaskan simbol yang terkait dengan komentar, direktif pengompilasi, dan atribut.
Simbol atau operator | Tautan | Deskripsi |
---|---|---|
(*...*) |
Memisahkan komentar yang bisa menjangkau beberapa baris. | |
// |
Menunjukkan awal komentar satu baris. | |
/// |
Dokumentasi XML | Menunjukkan komentar XML. |
# |
Direktif Pengompilasi | Awalan direktif praprosesor atau pengompilasi. |
[<...>] |
Atribut | Memisahkan atribut. |
Simbol string dan pengidentifikasi
Tabel berikut ini menjelaskan simbol yang terkait dengan string.
Simbol atau operator | Tautan | Deskripsi |
---|---|---|
" |
String | Memisahkan string teks. |
@" |
String | Memulai string teks verbatim, yang mungkin menyertakan garis miring terbalik dan karakter lain. |
""" |
String | Memisahkan string teks dengan tanda kutip tiga, yang mungkin termasuk garis miring terbalik, tanda kutip ganda, dan karakter lain. |
$" |
String Terinterpolasi | Memulai string interpolasi. |
' |
Literal | Memisahkan harfiah karakter tunggal. |
``...`` |
Memisahkan pengidentifikasi yang seharusnya tidak menjadi pengidentifikasi hukum, seperti kata kunci bahasa. | |
\ |
String | Mengecualikan karakter berikutnya; digunakan dalam karakter dan harfiah string. |
Operasi aritmatika
Tabel berikut ini menjelaskan operator aritmatika.
Simbol atau operator | Tautan | Deskripsi |
---|---|---|
+ |
Operasi Aritmatika |
|
- |
Operasi Aritmatika |
|
* |
Operasi Aritmatika Tupel Satuan Ukuran |
|
/ |
Operasi Aritmatika Satuan Ukuran |
|
% |
Operasi Aritmatika | Menghitung sisa bilangan bulat. |
** |
Operasi Aritmatika | Menghitung operasi eksponensial (x ** y berarti x bagi kemampuan y ). |
Operator perbandingan
Tabel berikut menjelaskan operator perbandingan.
Simbol atau operator | Tautan | Deskripsi |
---|---|---|
< |
Operasi Aritmatika | Melakukan komputasi pada operasi yang kurang dari. |
<> |
Operasi Aritmatika | Menampilkan true jika sisi kiri tidak sama dengan sisi kanan; jika tidak, menampilkan false. |
<= |
Operasi Aritmatika | Menampilkan true jika sisi kiri kurang dari atau sama dengan sisi kanan; jika tidak, menampilkan false . |
= |
Operasi Aritmatika | Menampilkan true jika sisi kiri sama dengan sisi kanan; jika tidak, menampilkan false . |
> |
Operasi Aritmatika | Menampilkan true jika sisi kiri lebih besar dari sisi kanan; jika tidak, menampilkan false . |
>= |
Operasi Aritmatika | Menampilkan true jika sisi kiri lebih besar dari atau sama dengan sisi kanan; jika tidak, menampilkan false . |
Operator Boolean
Tabel berikut menjelaskan simbol operator aritmatika dan boolean.
Simbol atau operator | Tautan | Deskripsi |
---|---|---|
&& |
Operator Boolean | Melakukan komputasi pada operasi AND Boolean. |
|| |
Operator Boolean | Melakukan komputasi pada operasi OR Boolean. |
Operator bitwise
Tabel berikut menjelaskan operator bitwise.
Simbol atau operator | Tautan | Deskripsi |
---|---|---|
&&& |
Operator Bitwise | Melakukan komputasi pada operasi AND bitwise. |
<<< |
Operator Bitwise | Menggeser bit dalam jumlah di sisi kiri ke kiri dengan jumlah bit yang ditentukan di sisi kanan. |
>>> |
Operator Bitwise | Menggeser bit dalam kuantitas di sisi kiri ke kanan dengan jumlah tempat yang ditentukan di sisi kanan. |
^^^ |
Operator Bitwise | Melakukan komputasi pada operasi OR eksklusif bitwise. |
||| |
Operator Bitwise | Melakukan komputasi pada operasi OR bitwise. |
~~~ |
Operator Bitwise | Melakukan komputasi pada operasi NOT bitwise. |
Simbol dan operator fungsi
Tabel berikut ini menjelaskan operator dan simbol yang terkait dengan fungsi.
Simbol atau operator | Tautan | Deskripsi |
---|---|---|
-> |
Fungsi | Dalam ekspresi fungsi, memisahkan pola input dari ekspresi output. |
|> |
Fungsi | Meneruskan hasil sisi kiri ke fungsi di sisi kanan (operator alur maju). |
||> |
( ||> )<'T1,'T2,'U> Function | Meneruskan tuple dua argumen di sisi kiri ke fungsi di sisi kanan. |
|||> |
( |||> )<'T1,'T2,'T3,'U> Function | Meneruskan tuple tiga argumen di sisi kiri ke fungsi di sisi kanan. |
>> |
Fungsi | Menyusun dua fungsi (operator komposisi maju). |
<< |
Fungsi | Menyusun dua fungsi dalam urutan terbalik; yang kedua dijalankan terlebih dahulu (operator komposisi mundur). |
<| |
Fungsi | Meneruskan hasil ekspresi di sisi kanan ke fungsi di sisi kiri (operator alur mundur). |
<|| |
( <|| )<'T1,'T2,'U> Function | Meneruskan tuple dua argumen di sisi kanan ke fungsi di sisi kiri. |
<||| |
( <||| )<'T1,'T2,'T3,'U> Function | Meneruskan tuple tiga argumen di sisi kanan ke fungsi di sisi kiri. |
Operator dan simbol jenis
Tabel berikut ini menjelaskan simbol yang terkait dengan anotasi jenis dan pengujian jenis.
Simbol atau operator | Tautan | Deskripsi |
---|---|---|
-> |
Fungsi | Dalam jenis fungsi, memisahkan argumen dan menampilkan nilai, juga memberikan hasil dalam ekspresi urutan. |
: |
Fungsi | Dalam anotasi jenis, memisahkan parameter atau nama anggota dari jenisnya. |
:> |
Konversi Eksplisit dan Konversi | Mengonversi jenis menjadi jenis yang lebih tinggi dalam hierarki. |
:? |
Ekspresi Pencocokan | Menampilkan true jika nilai cocok dengan jenis yang ditentukan (termasuk jika subjenis false ); jika tidak, menampilkan (operator pengujian jenis). |
:?> |
Konversi Eksplisit dan Konversi | Mengonversi jenis menjadi jenis yang lebih rendah dalam hierarki. |
# |
Jenis Fleksibel | Saat digunakan dengan jenis, menunjukkan jenis fleksibel, yang mengacu pada jenis atau salah satu jenis turunannya. |
' |
Generalisasi Otomatis | Menunjukkan parameter jenis generik. |
<...> |
Generalisasi Otomatis | Memisahkan parameter jenis. |
^ |
Parameter Jenis yang Diselesaikan secara Statik String |
|
{} |
Kelas atau Data | Saat digunakan dengan kata kunci type , memisahkan kelas atau data. Jenisnya adalah kelas saat anggota dideklarasikan atau kata kunci class digunakan. Jika tidak, ini adalah data. |
{||} |
Data anonim | Menunjukkan data anonim |
Simbol yang digunakan dalam pencarian anggota dan ekspresi potongan
Tabel berikut ini menjelaskan simbol tambahan yang digunakan dalam pencarian anggota dan ekspresi potongan.
Simbol atau operator | Tautan | Deskripsi |
---|---|---|
. |
Anggota | Mengakses anggota, dan memisahkan nama individual dalam nama yang sepenuhnya memenuhi syarat. |
[...] atau .[...] |
Array Properti yang Diindeks Ekspresi Potongan |
Mengindeks ke dalam larik, string atau koleksi, atau mengambil potongan koleksi. |
Simbol yang digunakan dalam tuple, daftar, larik, ekspresi unit, dan pola
Tabel berikut menjelaskan simbol yang terkait dengan tuple, daftar, nilai unit, dan larik.
Simbol atau operator | Tautan | Deskripsi |
---|---|---|
( ) |
Jenis Unit | Mewakili nilai tunggal dari jenis unit. |
, |
Tupel | Memisahkan elemen tuple, atau parameter jenis. |
:: |
Daftar Ekspresi Pencocokan |
|
@ |
Daftar | Menggabungkan dua daftar. |
[...] |
Daftar | Memisahkan elemen daftar. |
[|...|] |
Array | Memisahkan elemen larik. |
Simbol yang digunakan dalam ekspresi imperatif
Tabel berikut menjelaskan simbol tambahan yang digunakan dalam ekspresi.
Simbol atau operator | Tautan | Deskripsi |
---|---|---|
<- |
Nilai | Menetapkan nilai ke variabel. |
; |
Verbose Syntax |
Memisahkan ekspresi (sebagian besar digunakan di sintaks verbose). Juga memisahkan elemen daftar atau bidang data. |
Simbol tambahan yang digunakan dalam urutan dan ekspresi perhitungan
Tabel berikut ini menjelaskan simbol tambahan yang digunakan dalam Urutan dan Ekspresi Komputasi.
Simbol atau operator | Tautan | Deskripsi |
---|---|---|
-> |
Urutan | Menghasilkan ekspresi (dalam ekspresi berurutan); setara dengan kata kunci do yield . |
! |
Ekspresi Komputasi | Setelah kata kunci, menunjukkan versi perilaku kata kunci yang dimodifikasi seperti yang dikontrol oleh ekspresi komputasi. |
Simbol tambahan yang digunakan di pola pencocokan
Tabel berikut menjelaskan simbol yang terkait dengan pencocokan pola.
Simbol atau operator | Tautan | Deskripsi |
---|---|---|
-> |
Ekspresi Pencocokan | Digunakan dalam ekspresi pencocokan. |
& |
Ekspresi Pencocokan |
|
_ |
Ekspresi Pencocokan Generik |
|
| |
Ekspresi Pencocokan | Memisahkan kasus pencocokan individu, kasus gabungan yang didiskriminasi individu, dan nilai enumerasi. |
Simbol tambahan yang digunakan dalam deklarasi
Tabel berikut menjelaskan simbol yang terkait dengan deklarasi.
Simbol atau operator | Tautan | Deskripsi |
---|---|---|
(|...|) |
Pola Aktif | Memisahkan nama pola aktif. Juga disebut klip pisang. |
? |
Parameter dan Argumen | Menentukan argumen opsional. |
~~ |
Kelebihan Beban Operator | Digunakan untuk mendeklarasikan kelebihan beban untuk operator negasi tunggal. |
~- |
Kelebihan Beban Operator | Digunakan untuk mendeklarasikan kelebihan beban untuk operator minus tunggal. |
~+ |
Kelebihan Beban Operator | Digunakan untuk menyatakan kelebihan beban untuk operator plus tunggal. |
Simbol tambahan yang digunakan dalam kutipan
Tabel berikut menjelaskan simbol yang terkait dengan Kutipan Kode.
Simbol atau operator | Tautan | Deskripsi |
---|---|---|
<@...@> |
Kutipan Kode | Memisahkan kutipan kode yang diketik. |
<@@...@@> |
Kutipan Kode | Memisahkan kutipan kode yang tidak diketik. |
% |
Kutipan Kode | Digunakan untuk memotong ekspresi ke dalam kutipan kode yang diketik. |
%% |
Kutipan Kode | Digunakan untuk memotong ekspresi ke dalam kutipan kode yang tidak diketik. |
Operator pencarian dinamis
Tabel berikut ini menjelaskan simbol tambahan yang digunakan dalam ekspresi pencarian dinamis. Simbol umumnya tidak digunakan dalam pemrograman F# rutin dan tidak ada implementasi dari operator ini yang disediakan di pustaka inti F#.
Simbol atau operator | Tautan | Deskripsi |
---|---|---|
? |
Digunakan sebagai operator untuk metode dinamis dan panggilan properti. | |
? ... <- ... |
Digunakan sebagai operator untuk mengatur properti dinamis. |
Operator yang dapat diubah ke null dalam kueri
Operator yang Dapat Diubah ke Null ditentukan untuk digunakan dalam Ekspresi Kueri. Tabel ini menunjukkan operator berikut.
Simbol atau operator | Tautan | Deskripsi |
---|---|---|
%? |
Operator yang Dapat Diubah ke Null | Melakukan komputasi pada sisa integer, saat sisi kanan adalah jenis yang dapat diubah ke null. |
*? |
Operator yang Dapat Diubah ke Null | Mengalikan sisi kiri dan kanan, saat sisi kanan adalah jenis yang dapat diubah ke null. |
+? |
Operator yang Dapat Diubah ke Null | Menambahkan sisi kiri dan kanan, saat sisi kanan adalah jenis yang dapat diubah ke null. |
-? |
Operator yang Dapat Diubah ke Null | Mengurangi sisi kanan dari sisi kiri, saat sisi kanan adalah jenis yang dapat diubah ke null. |
/? |
Operator yang Dapat Diubah ke Null | Membagi sisi kiri dengan sisi kanan, saat sisi kanan adalah jenis yang dapat diubah ke null. |
<? |
Operator yang Dapat Diubah ke Null | Melakukan komputasi pada yang kurang dari operasi, saat sisi kanan adalah jenis yang dapat diubah ke null. |
<>? |
Operator yang Dapat Diubah ke Null | Melakukan komputasi pada operasi yang "tidak sama", saat sisi kanan adalah jenis yang dapat diubah ke null. |
<=? |
Operator yang Dapat Diubah ke Null | Melakukan komputasi pada operasi yang "kurang dari atau sama dengan", saat sisi kanan adalah jenis yang dapat diubah ke null. |
=? |
Operator yang Dapat Diubah ke Null | Melakukan komputasi pada operasi yang "sama dengan", saat sisi kanan adalah jenis yang dapat diubah ke null. |
>? |
Operator yang Dapat Diubah ke Null | Melakukan komputasi pada operasi yang "lebih besar dari", saat sisi kanan adalah jenis yang dapat diubah ke null. |
>=? |
Operator yang Dapat Diubah ke Null | Melakukan komputasi pada operasi yang "lebih besar dari atau sama dengan", saat sisi kanan adalah jenis yang dapat diubah ke null. |
?>= , ?> , ?<= , ?< , ?= , ?<> , ?+ , ?- , ?* , ?/ |
Operator yang Dapat Diubah ke Null | Setara dengan operator yang sesuai tanpa? awalan, ketika jenis yang dapat diubah ke null ada di sebelah kiri. |
>=? , >? , <=? , <? , =? , <>? , +? , -? , *? , /? |
Operator yang Dapat Diubah ke Null | Setara dengan operator yang sesuai tanpa? akhiran, ketika jenis yang dapat diubah ke null berada di sebelah kanan. |
?>=? , ?>? , ?<=? , ?<? , ?=? , ?<>? , ?+? , ?-? , ?*? , ?/? |
Operator yang Dapat Diubah ke Null | Setara dengan operator yang sesuai tanpa tanda tanya di sekitarnya, ketika kedua sisi adalah jenis yang dapat diubah ke null. |
Operator sel referensi (tidak digunakan lagi)
Tabel berikut menjelaskan simbol yang terkait dengan Sel Referensi. Penggunaan operator ini menghasilkan pesan penasihat pada F# 6. Untuk informasi selengkapnya, lihat Mereferensikan pesan saran operasi sel.
Simbol atau operator | Tautan | Deskripsi |
---|---|---|
! |
Sel Referensi | Mendereferensikan sel referensi. |
:= |
Sel Referensi | Menetapkan nilai ke sel referensi. |
Prioritas operator
Tabel berikut ini memperlihatkan urutan prioritas operator dan kata kunci ekspresi lainnya dalam F#, dengan urutan dari prioritas terendah hingga prioritas tertinggi. Asosiatif juga dicantumkan, jika berlaku.
Operator | Asosiasivitas |
---|---|
as |
Hak |
when |
Hak |
| (alur) |
Left |
; |
Hak |
let |
Nonassosiatif |
function , fun , match , try |
Nonassosiatif |
if |
Nonassosiatif |
not |
Hak |
-> |
Hak |
:= |
Hak |
, |
Nonassosiatif |
or , || |
Left |
& , && |
Left |
:> , :?> |
Hak |
< op, > op, = , | op, & op, & , $ (termasuk <<< , >>> , ||| , &&& ) |
Left |
^ op(termasuk ^^^ ) |
Hak |
:: |
Hak |
:? |
Tidak asosiatif |
- op, + op |
Berlaku untuk penggunaan infiks pada simbol-simbol ini |
* op, / op, % op |
Left |
** op |
Hak |
f x (aplikasi fungsi)(termasuk lazy x , assert x ) |
Left |
| (kecocokan pola) |
Hak |
operator prefiks (+ op, - op, % , %% , & , && , ! op, ~ op) |
Left |
. |
Left |
f(x) |
Left |
f< types> |
Left |
F# mendukung kelebihan beban operator kustom. Ini berarti Anda bisa menentukan operator Anda sendiri. Di tabel sebelumnya, op dapat berupa urutan karakter operator yang valid (mungkin kosong), baik bawaan atau yang ditentukan pengguna. Dengan demikian, Anda bisa menggunakan tabel ini untuk menentukan urutan karakter apa yang akan digunakan untuk operator kustom guna mencapai tingkat prioritas yang diinginkan. Karakter .
awal diabaikan saat pengompilasi menentukan prioritas.