Bagikan melalui


Referensi simbol dan operator

Artikel ini mencakup tabel yang menjelaskan simbol dan operator yang digunakan dalam F# dan memberikan deskripsi singkat tentang masing-masing. Beberapa simbol dan operator memiliki dua entri atau lebih saat digunakan dalam beberapa peran.

Komentar, direktif kompilator, dan simbol atribut

Tabel berikut ini menjelaskan simbol yang terkait dengan komentar, direktif kompilator, dan atribut.

Simbol atau operator Links Deskripsi
(*...*) Memisahkan komentar yang dapat mencakup beberapa baris.
// Menunjukkan awal komentar satu baris.
/// Dokumentasi XML Menunjukkan komentar XML.
# Direktif Kompilator Awalan preprosesor atau direktif kompilator.
[<...>] Atribut Memisahkan atribut.

Simbol string dan pengidentifikasi

Tabel berikut ini menjelaskan simbol yang terkait dengan string.

Simbol atau operator Links Deskripsi
" String Memisahkan string teks.
@" String Memulai string teks verbatim, yang mungkin mencakup garis miring terbalik dan karakter lainnya.
""" String Memisahkan string teks yang dikutip tiga kali, yang mungkin mencakup garis miring terbalik, tanda kutip ganda, dan karakter lainnya.
$" String Terinterpolasi Memulai string terinterpolasi.
' Literal Memisahkan literal karakter tunggal.
``...`` Memisahkan pengidentifikasi yang tidak akan menjadi pengidentifikasi hukum, seperti kata kunci bahasa.
\ String Lolos dari karakter berikutnya; digunakan dalam karakter dan string literal.

Operasi Aritmatika

Tabel berikut ini menjelaskan operator aritmatika.

Simbol atau operator Links Deskripsi
+ Operator Aritmatika
  • Saat digunakan sebagai operator biner, menambahkan sisi kiri dan kanan.
  • Saat digunakan sebagai operator unary, menunjukkan jumlah positif. (Secara resmi, menghasilkan nilai yang sama dengan tanda tidak berubah.)
- Operator Aritmatika
  • Saat digunakan sebagai operator biner, kurangi sisi kanan dari sisi kiri.
  • Saat digunakan sebagai operator unary, lakukan operasi negasi.
* Operator Aritmatika

Tuple

Satuan Ukuran
  • Saat digunakan sebagai operator biner, kalikan sisi kiri dan kanan.
  • Dalam jenis, menunjukkan pemasangan dalam tuple.
  • Digunakan dalam satuan jenis pengukuran.
/ Operator Aritmatika

Satuan Ukuran
  • Membagi sisi kiri (numerator) di sisi kanan (denominator).
  • Digunakan dalam satuan jenis pengukuran.
% Operator Aritmatika Menghitung sisa bilangan bulat.
** Operator Aritmatika Menghitung operasi eksponensiasi (x ** y berarti x kekuatan y).

Operator perbandingan

Tabel berikut ini menjelaskan operator perbandingan.

Simbol atau operator Links Deskripsi
< Operator Aritmatika Menghitung operasi yang kurang dari itu.
<> Operator Aritmatika Mengembalikan true jika sisi kiri tidak sama dengan sisi kanan; jika tidak, mengembalikan false.
<= Operator Aritmatika Mengembalikan true jika sisi kiri kurang dari atau sama dengan sisi kanan; jika tidak, mengembalikan false.
= Operator Aritmatika Mengembalikan true jika sisi kiri sama dengan sisi kanan; jika tidak, mengembalikan false.
> Operator Aritmatika Mengembalikan true jika sisi kiri lebih besar dari sisi kanan; jika tidak, mengembalikan false.
>= Operator Aritmatika Mengembalikan true jika sisi kiri lebih besar dari atau sama dengan sisi kanan; jika tidak, mengembalikan false.

Operator Boolean

Tabel berikut ini menjelaskan simbol operator aritmatika dan boolean.

Simbol atau operator Links Deskripsi
&& Operator Boolean Menghitung operasi Boolean AND.
|| Operator Boolean Menghitung operasi ATAU Boolean.

Operator bitwise

Tabel berikut ini menjelaskan operator bitwise.

Simbol atau operator Links Deskripsi
&&& Operator Bitwise Menghitung operasi BITWISE AND.
<<< Operator Bitwise Menggeser bit dalam kuantitas 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 Menghitung operasi OR eksklusif bitwise.
||| Operator Bitwise Menghitung operasi BITWISE OR.
~~~ Operator Bitwise Menghitung operasi BITWISE NOT.

Simbol dan operator fungsi

Tabel berikut menjelaskan operator dan simbol yang terkait dengan fungsi.

Simbol atau operator Links Deskripsi
-> Fungsi Dalam ekspresi fungsi, memisahkan pola input dari ekspresi output.
|> Fungsi Meneruskan hasil sisi kiri ke fungsi di sisi kanan (operator pipa ke depan).
||> ( ||> )<'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 penerusan).
<< 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 pipa 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.

Ketik simbol dan operator

Tabel berikut ini menjelaskan simbol yang terkait dengan anotasi jenis dan pengujian jenis.

Simbol atau operator Links Deskripsi
-> Fungsi Dalam jenis fungsi, memisahkan argumen dan mengembalikan nilai, juga menghasilkan hasil dalam ekspresi urutan.
: Fungsi Dalam anotasi jenis, memisahkan parameter atau nama anggota dari jenisnya.
:> Transmisi dan Konversi Mengonversi tipe ke tipe yang lebih tinggi dalam hierarki.
:? Cocokkan Ekspresi Mengembalikan true jika nilai cocok dengan jenis yang ditentukan (termasuk jika merupakan subjenis false ); jika tidak, mengembalikan (operator uji jenis).
:?> Transmisi dan Konversi Mengonversi tipe menjadi tipe 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 Statis

String
  • Menentukan parameter jenis yang harus diselesaikan pada waktu kompilasi, bukan pada waktu proses.
  • Menggabungkan string.
{} Kelas atau Rekaman Saat digunakan dengan type kata kunci, memisahkan kelas atau rekaman. Jenisnya adalah kelas ketika anggota dideklarasikan atau class kata kunci digunakan. Jika tidak, itu adalah catatan.
{||} Rekaman anonim Menunjukkan rekaman anonim

Simbol yang digunakan dalam pencarian anggota dan ekspresi ilis

Tabel berikut ini menjelaskan simbol tambahan yang digunakan dalam pencarian anggota dan ekspresi ilis.

Simbol atau operator Links Deskripsi
. Anggota Mengakses anggota, dan memisahkan nama individual dalam nama yang sepenuhnya memenuhi syarat.
[...] atau .[...] Array

Properti Terindeks

Ekspresi Ilis
Mengindeks ke dalam array, string, atau koleksi, atau mengambil ikatan koleksi.

Simbol yang digunakan dalam tuple, daftar, array, ekspresi unit, dan pola

Tabel berikut ini menjelaskan simbol yang terkait dengan tuple, daftar, nilai unit, dan array.

Simbol atau operator Links Deskripsi
( ) Tipe Unit Mewakili nilai tunggal dari jenis unit.
, Tuple Memisahkan elemen parameter tuple, atau jenis.
:: Daftar

Cocokkan Ekspresi
  • Membuat daftar. Elemen di sisi kiri ditandatangani ke daftar di sisi kanan.
  • Digunakan dalam pencocokan pola untuk memisahkan bagian daftar.
@ Daftar Menggabungkan dua daftar.
[...] Daftar Memisahkan elemen daftar.
[|...|] Array Memisahkan elemen array.

Simbol yang digunakan dalam ekspresi imperatif

Tabel berikut ini menjelaskan simbol tambahan yang digunakan dalam ekspresi.

Simbol atau operator Links Deskripsi
<- Nilai Menetapkan nilai ke variabel.
; Sintaks Verbose

Memisahkan ekspresi (sebagian besar digunakan dalam sintaks verbose). Juga memisahkan elemen daftar atau bidang rekaman.

Simbol tambahan yang digunakan dalam urutan dan ekspresi komputasi

Tabel berikut ini menjelaskan simbol tambahan yang digunakan dalam Urutan dan Ekspresi Komputasi.

Simbol atau operator Links Deskripsi
-> Urutan Menghasilkan ekspresi (dalam ekspresi berurutan); setara dengan do yield kata kunci.
! Ekspresi Komputasi Setelah kata kunci, menunjukkan versi perilaku kata kunci yang dimodifikasi seperti yang dikontrol oleh ekspresi komputasi.

Simbol tambahan yang digunakan dalam pola pencocokan

Tabel berikut ini menjelaskan simbol yang terkait dengan pencocokan pola.

Simbol atau operator Links Deskripsi
-> Cocokkan Ekspresi Digunakan dalam ekspresi kecocokan.
& Pencocokan Pola
  • Menghitung alamat nilai yang dapat diubah, untuk digunakan saat mengoperasikan dengan bahasa lain.
  • Digunakan dalam pola AND.
_ Cocokkan Ekspresi

Generics
  • Menunjukkan pola kartubebas.
  • Menentukan parameter generik anonim.
| Cocokkan Ekspresi Memisahkan kasus kecocokan individu, kasus serikat terdiskriminasi individu, dan nilai enumerasi.

Simbol tambahan yang digunakan dalam deklarasi

Tabel berikut ini menjelaskan simbol yang terkait dengan deklarasi.

Simbol atau operator Links 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 unary.
~- Kelebihan Beban Operator Digunakan untuk mendeklarasikan kelebihan beban untuk operator minus unary.
~+ Kelebihan Beban Operator Digunakan untuk mendeklarasikan kelebihan beban untuk operator unary plus.

Simbol tambahan yang digunakan dalam kutipan

Tabel berikut ini menjelaskan simbol yang terkait dengan Kutipan Kode.

Simbol atau operator Links Deskripsi
<@...@> Kutipan Kode Memisahkan kutipan kode yang ditik.
<@@...@@> Kutipan Kode Memisahkan kutipan kode yang tidak dititip.
% Kutipan Kode Digunakan untuk mem-splicing ekspresi ke dalam kutipan kode yang ditik.
%% Kutipan Kode Digunakan untuk memuntahkan ekspresi ke dalam kutipan kode yang tidak dititip.

Operator pencarian dinamis

Tabel berikut ini menjelaskan simbol tambahan yang digunakan dalam ekspresi pencarian dinamis. Mereka umumnya tidak digunakan dalam pemrograman F# rutin dan tidak ada implementasi operator ini yang disediakan di pustaka inti F#.

Simbol atau operator Links Deskripsi
? Digunakan sebagai operator untuk panggilan metode dinamis dan properti.
? ... <- ... Digunakan sebagai operator untuk mengatur properti dinamis.

Operator yang dapat diubah ke null dalam kueri

Operator nullable didefinisikan untuk digunakan dalam Ekspresi Kueri. Tabel berikut ini memperlihatkan operator ini.

Simbol atau operator Links Deskripsi
%? Operator nullable Menghitung sisa bilangan bulat, ketika sisi kanan adalah jenis nullable.
*? Operator nullable Mengalikan sisi kiri dan kanan, saat sisi kanan adalah jenis nullable.
+? Operator nullable Menambahkan sisi kiri dan kanan, ketika sisi kanan adalah jenis nullable.
-? Operator nullable Mengurangi sisi kanan dari sisi kiri, ketika sisi kanan adalah jenis nullable.
/? Operator nullable Membagi sisi kiri di sisi kanan, ketika sisi kanan adalah jenis nullable.
<? Operator nullable Menghitung kurang dari operasi, ketika sisi kanan adalah jenis nullable.
<>? Operator nullable Menghitung operasi "tidak sama" ketika sisi kanan adalah jenis nullable.
<=? Operator nullable Menghitung operasi "kurang dari atau sama dengan" ketika sisi kanan adalah jenis nullable.
=? Operator nullable Menghitung operasi "sama" ketika sisi kanan adalah jenis nullable.
>? Operator nullable Menghitung operasi "lebih besar dari" ketika sisi kanan adalah jenis nullable.
>=? Operator nullable Menghitung operasi "lebih besar dari atau sama" ketika sisi kanan adalah jenis nullable.
?>=, , ?>?<=, ?<, ?=, ?<>, ?+, ?-, , ?*,?/ Operator nullable Setara dengan operator yang sesuai tanpa ? awalan, di mana jenis nullable berada di sebelah kiri.
>=?, , >?<=?, <?, =?, <>?, +?, -?, , *?,/? Operator nullable Setara dengan operator yang sesuai tanpa ? akhiran, di mana jenis nullable berada di sebelah kanan.
?>=?, , ?>??<=?, ?<?, ?=?, ?<>?, ?+?, ?-?, , ?*?,?/? Operator nullable Setara dengan operator yang sesuai tanpa tanda tanya di sekitarnya, di mana kedua sisi adalah jenis nullable.

Operator sel referensi (tidak digunakan lagi)

Tabel berikut ini menjelaskan simbol yang terkait dengan Sel Referensi. Penggunaan operator ini menghasilkan pesan saran per F# 6. Untuk informasi selengkapnya, lihat Mereferensikan pesan saran operasi sel.

Simbol atau operator Links Deskripsi
! Sel Referensi Dereferensi sel referensi.
:= Sel Referensi Menetapkan nilai ke sel referensi.

Prioritas operator

Tabel berikut menunjukkan urutan prioritas operator dan kata kunci ekspresi lainnya di F#, dalam urutan dari prioritas terendah hingga prioritas tertinggi. Juga tercantum adalah associativity, jika berlaku.

Pengoperasi Asosiativitas
as Benar
when Benar
| (pipa) Kiri
; Benar
let Nonassosiatif
function,fun,match,try Nonassosiatif
if Nonassosiatif
not Benar
-> Benar
:= Benar
, Nonassosiatif
or, || Kiri
&, && Kiri
:>, :?> Benar
< op, >op, =, |op, &op, &, $

(termasuk <<<, >>>, |||, &&&)
Kiri
^ Op

(termasuk ^^^)
Benar
:: Benar
:? Tidak asosiatif
- op, +op Berlaku untuk penggunaan infiks dari simbol-simbol ini
* op, /op, %op Kiri
** Op Benar
f x (aplikasi fungsi)

(termasuk lazy x, assert x)
Kiri
| (kecocokan pola) Benar
operator prefiks (+op, -op, %, %%, &, &&, !op, ~op) Kiri
. Kiri
f(x) Kiri
f< Jenis> Kiri

F# mendukung kelebihan beban operator kustom. Ini berarti Anda dapat menentukan operator Anda sendiri. Dalam tabel sebelumnya, op dapat berupa urutan karakter operator yang valid (mungkin kosong), baik bawaan atau yang ditentukan pengguna. Dengan demikian, Anda dapat menggunakan tabel ini untuk menentukan urutan karakter apa yang akan digunakan bagi operator kustom untuk mencapai tingkat prioritas yang diinginkan. Karakter awal . diabaikan ketika pengkompilasi menentukan prioritas.

Lihat juga