Clojure - Operator
Sebuah operator adalah simbol yang memberi tahu kompiler untuk melakukan manipulasi matematika atau logika tertentu.
Clojure memiliki jenis operator berikut -
- Operator aritmatika
- Operator relasional
- Operator logika
- Operator bitwise
Note - Di Clojure, operator dan operand bekerja dengan sintaks berikut.
Sintaksis
(operator operand1 operand2 operandn)
Sebagai contoh,
Contoh
(+ 1 2)
Contoh di atas melakukan operasi aritmatika pada angka 1 dan 2.
Operator Aritmatika
Bahasa Clojure mendukung operator Aritmatika normal seperti bahasa apapun. Berikut adalah operator Aritmatika yang tersedia di Clojure.
Tunjukkan Contoh
Operator | Deskripsi | Contoh |
---|---|---|
+ | Penambahan dua operan | (+ 1 2) akan menghasilkan 3 |
- | Mengurangi operan kedua dari yang pertama | (- 2 1) akan memberikan 1 |
* | Perkalian kedua operan | (* 2 2) akan menghasilkan 4 |
/ | Pembagian pembilang dengan penyebut | (float (/ 3 2)) akan menghasilkan 1,5 |
inc | Operator inkremental digunakan untuk menaikkan nilai operan sebesar 1 | inc 5 akan memberikan 6 |
des | Operator inkremental digunakan untuk menurunkan nilai operand sebesar 1 | 5 Desember akan memberikan 4 |
maks | Mengembalikan argumen terbesarnya | max 1 2 3 akan menghasilkan 3 |
min | Mengembalikan argumen terkecilnya | min 1 2 3 akan menghasilkan 1 |
rem | Sisa pembagian bilangan pertama dengan bilangan kedua | rem 3 2 akan memberikan 1 |
Operator Relasional
Operator relasional memungkinkan perbandingan objek. Berikut ini adalah operator relasional yang tersedia di Clojure.
Tunjukkan Contoh
Operator | Deskripsi | Contoh |
---|---|---|
= | Menguji persamaan antara dua objek | (= 2 2) akan menjadi benar |
tidak = | Menguji perbedaan antara dua objek | (tidak = 3 2) akan memberikan true |
< | Memeriksa untuk melihat apakah objek kiri kurang dari operan kanan | (<2 3) akan memberikan true |
<= | Memeriksa untuk melihat apakah objek kiri kurang dari atau sama dengan operan kanan | (<= 2 3) akan memberikan nilai benar |
> | Memeriksa untuk melihat apakah objek kiri lebih besar dari operan kanan | (> 3 2) akan memberikan true |
> = | Memeriksa untuk melihat apakah objek kiri lebih besar dari atau sama dengan operan kanan | (> = 3 2) akan memberikan true |
Operator Logis
Operator logika digunakan untuk mengevaluasi ekspresi Boolean. Berikut adalah operator logika yang tersedia di Groovy.
Tunjukkan Contoh
Operator | Deskripsi | Contoh |
---|---|---|
and | Ini adalah operator logika “dan” | (atau true true) akan memberikan true |
or | Ini adalah operator logika “atau” | (dan benar salah) akan menjadi salah |
not | Ini adalah operator “bukan” yang logis | (tidak salah) akan memberikan benar |
Potongan kode berikut menunjukkan bagaimana berbagai operator dapat digunakan.
Operator Bitwise
Clojure menyediakan empat operator bitwise. Berikut adalah operator bitwise yang tersedia di Clojure.
Tunjukkan Contoh
Sr.No. | Operator & Deskripsi |
---|---|
1 |
bit-and Ini adalah operator bitwise “dan” |
2 |
bit-or Ini adalah operator bitwise "atau" |
3 |
bit-xor Ini adalah operator bitwise "xor" atau Exclusive 'atau' |
4 |
bit-not Ini adalah operator negasi bitwise |
Berikut adalah tabel kebenaran yang menampilkan operator tersebut.
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 |
Prioritas Operator
Seperti halnya dengan LISP pada umumnya, tidak perlu khawatir tentang prioritas operator. Ini adalah salah satu keunggulan S-Expressions dan notasi awalan. Semua fungsi mengevaluasi dari kiri ke kanan dan luar dalam. Operator di Clojure hanyalah fungsi, dan semuanya dikurung sepenuhnya.