Clojure - Operatörler
Bir operator derleyiciye belirli matematiksel veya mantıksal işlemleri gerçekleştirmesini söyleyen bir semboldür.
Clojure aşağıdaki operatör türlerine sahiptir -
- Aritmetik operatörler
- İlişkisel operatörler
- Mantıksal operatörler
- Bitsel operatörler
Note - Clojure'da operatörler ve işlenenler aşağıdaki söz dizimi tarzında çalışır.
Sözdizimi
(operator operand1 operand2 operandn)
Örneğin,
Misal
(+ 1 2)
Yukarıdaki örnek, 1 ve 2 sayıları üzerinde bir aritmetik işlem gerçekleştirir.
Aritmetik operatörler
Clojure dili, herhangi bir dil gibi normal Aritmetik operatörlerini destekler. Clojure'da bulunan Aritmetik operatörler aşağıdadır.
Örnekleri Göster
| Şebeke | Açıklama | Misal |
|---|---|---|
| + | İki işlenenin eklenmesi | (+ 1 2) 3 verir |
| - | İlk işlenenden ikinci işleneni çıkarır | (- 2 1) 1 verecektir |
| * | Her iki işlenenin çarpımı | (* 2 2) 4 verecektir |
| / | Paydaya göre pay bölümü | (float (/ 3 2)) 1.5 verecek |
| inc | Artımlı operatörler bir işlenenin değerini 1 artırmak için kullanılır | inc 5 6 verecek |
| aralık | Artımlı operatörler, bir operandın değerini 1 azaltmak için kullanılır | 5 Aralık 4 verecek |
| max | Argümanlarının en büyüğünü verir | en fazla 1 2 3 3 döndürür |
| min | Argümanlarının en küçüğünü verir | min 1 2 3, 1 döndürür |
| rem | İlk sayıyı ikinciye bölmenin kalanı | rem 3 2 1 verecektir |
İlişkisel Operatörler
İlişkisel operatörler, nesnelerin karşılaştırılmasına izin verir. Clojure'de bulunan ilişkisel operatörler aşağıdadır.
Örnekleri Göster
| Şebeke | Açıklama | Misal |
|---|---|---|
| = | İki nesne arasındaki eşitliği test eder | (= 2 2) doğru verecektir |
| not = | İki nesne arasındaki farkı test eder | (not = 3 2) doğru verecektir |
| < | Soldaki nesnenin sağ işlenenden daha küçük olup olmadığını kontrol eder | (<2 3) doğru verecektir |
| <= | Soldaki nesnenin sağ işlenenden küçük veya ona eşit olup olmadığını kontrol eder | (<= 2 3) doğru verecektir |
| > | Sol nesnenin sağ işlenenden büyük olup olmadığını kontrol eder | (> 3 2) doğru verecektir |
| > = | Soldaki nesnenin sağ işlenenden büyük veya ona eşit olup olmadığını kontrol eder | (> = 3 2) doğru verecektir |
Mantıksal operatörler
Mantıksal operatörler, Boole ifadelerini değerlendirmek için kullanılır. Aşağıda Groovy'de bulunan mantıksal operatörler verilmiştir.
Örnekleri Göster
| Şebeke | Açıklama | Misal |
|---|---|---|
| and | Bu, mantıksal "ve" operatörüdür | (veya true true) verecek |
| or | Bu, mantıksal "veya" operatörüdür | (ve doğru yanlış) yanlış verir |
| not | Bu, mantıksal "değil" operatörüdür | (yanlış değil) doğru verecek |
Aşağıdaki kod parçacığı, çeşitli operatörlerin nasıl kullanılabileceğini gösterir.
Bitsel Operatörler
Clojure dört bitsel operatör sağlar. Clojure'da bulunan bitsel operatörler aşağıdadır.
Örnekleri Göster
| Sr.No. | Operatör ve Açıklama |
|---|---|
| 1 | bit-and Bu bitsel "ve" operatörüdür |
| 2 | bit-or Bu bitsel "veya" operatörüdür |
| 3 | bit-xor Bu bitsel "xor" veya Exclusive "veya" operatördür |
| 4 | bit-not Bu bitsel olumsuzluk operatörüdür |
Bu operatörleri gösteren doğruluk tablosu aşağıdadır.
| 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 |
Operatör Önceliği
Genel olarak LISP'lerde olduğu gibi, operatör önceliği konusunda endişelenmenize gerek yoktur. Bu, S-İfadelerinin ve önek gösteriminin faydalarından biridir. Tüm işlevler soldan sağa ve içten dışa doğru değerlendirilir. Clojure'daki operatörler sadece fonksiyonlardır ve her şey tamamen parantez içine alınmıştır.