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.