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
  • Saat digunakan sebagai operator biner, tambahkan sisi kiri dan kanan.
  • Saat digunakan sebagai operator tunggal, menunjukkan kuantitas positif. (Secara formal, hal ini menghasilkan nilai yang sama dengan tanda yang tidak berubah.)
- Operasi Aritmatika
  • Saat digunakan sebagai operator biner, kurangi sisi kanan dari sisi kiri.
  • Saat digunakan sebagai operator tunggal, jalankan operasi negasi.
* Operasi Aritmatika

Tupel

Satuan Ukuran
  • Saat digunakan sebagai operator biner, kalikan sisi kiri dan kanan.
  • Di jenis, tunjukkan pasangan dalam tuple.
  • Digunakan dalam satuan jenis pengukuran.
/ Operasi Aritmatika

Satuan Ukuran
  • Membagi sisi kiri (pembilang) di sisi kanan (penyebut).
  • Digunakan dalam satuan jenis pengukuran.
% 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
  • Menentukan parameter jenis yang harus diselesaikan pada waktu kompilasi, bukan saat durasi.
  • Menggabungkan 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
  • Membuat daftar. Elemen di sisi kiri ditambahkan ke daftar di sisi kanan.
  • Digunakan dalam pencocokan pola untuk memisahkan bagian daftar.
@ 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
  • Melakukan komputasi pada alamat nilai yang dapat diubah, untuk digunakan saat beroperasi dengan bahasa lain.
  • Digunakan di pola AND.
_ Ekspresi Pencocokan

Generik
  • Menunjukkan pola wildcard.
  • Menentukan parameter generik anonim.
| 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.

Lihat juga