LISP - Dayanaklar
Tahminler, bazı belirli koşullar için bağımsız değişkenlerini test eden ve koşul yanlışsa veya koşul doğruysa sıfır olmayan bir değer döndüren işlevlerdir.
Aşağıdaki tablo, en sık kullanılan bazı yüklemleri göstermektedir -
Sr.No. | Dayanak ve Açıklama |
---|---|
1 | atom Bir bağımsız değişken alır ve bağımsız değişken bir atom ise t, aksi takdirde sıfır döndürür. |
2 | equal İki argüman alır ve geri döner t yapısal olarak eşitlerse veya nil aksi takdirde. |
3 | eq İki argüman alır ve geri döner t aynı özdeş nesneler ise, aynı hafıza konumunu paylaşıyorlarsa veya nil aksi takdirde. |
4 | eql İki argüman alır ve geri döner t eğer argümanlar eqveya aynı değere sahip aynı türde sayılarsa veya aynı karakteri temsil eden karakter nesneleriyse veya nil aksi takdirde. |
5 | evenp Bir sayısal argüman alır ve geri döner t bağımsız değişken çift sayı ise veya nil aksi takdirde. |
6 | oddp Bir sayısal argüman alır ve geri döner t bağımsız değişken tek sayı ise veya nil aksi takdirde. |
7 | zerop Bir sayısal argüman alır ve geri döner t bağımsız değişken sıfırsa veya nil aksi takdirde. |
8 | null Bir argüman alır ve geri döner t bağımsız değişken sıfır olarak değerlendirilirse, aksi takdirde döndürür nil. |
9 | listp Bir argüman alır ve geri döner t bağımsız değişken bir liste olarak değerlendirilirse, aksi takdirde döndürür nil. |
10 | greaterp Bir veya daha fazla argüman alır ve geri döner t Ya tek bir argüman varsa veya argümanlar art arda soldan sağa doğru daha büyükse veya nil aksi takdirde. |
11 | lessp Bir veya daha fazla argüman alır ve geri döner t Ya tek bir argüman varsa veya argümanlar art arda soldan sağa doğru daha küçükse veya nil aksi takdirde. |
12 | numberp Bir argüman alır ve geri döner t argüman bir sayı ise veya nil aksi takdirde. |
13 | symbolp Bir argüman alır ve geri döner t eğer argüman bir sembol ise, aksi takdirde geri döner nil. |
14 | integerp Bir argüman alır ve geri döner t bağımsız değişken bir tamsayı ise, aksi takdirde döndürür nil. |
15 | rationalp Bir argüman alır ve geri döner t argüman rasyonel sayı ise, oran veya sayı, aksi takdirde döndürür nil. |
16 | floatp Bir argüman alır ve geri döner t bağımsız değişken bir kayan noktalı sayı ise, aksi takdirde döndürür nil. |
17 | realp Bir argüman alır ve geri döner t bağımsız değişken gerçek bir sayı ise, aksi takdirde döndürür nil. |
18 | complexp Bir argüman alır ve geri döner t bağımsız değişken karmaşık bir sayı ise, aksi takdirde döndürür nil. |
19 | characterp Bir argüman alır ve geri döner t argüman bir karakter ise, aksi takdirde döndürür nil. |
20 | stringp Bir argüman alır ve geri döner t argüman bir dizge nesnesiyse, aksi takdirde döndürür nil. |
21 | arrayp Bir argüman alır ve geri döner t argüman bir dizi nesnesiyse, aksi takdirde döndürür nil. |
22 | packagep Bir argüman alır ve geri döner t bağımsız değişken bir paketse, aksi takdirde geri döner nil. |
örnek 1
Main.lisp adlı yeni bir kaynak kod dosyası oluşturun ve içine aşağıdaki kodu yazın.
(write (atom 'abcd))
(terpri)
(write (equal 'a 'b))
(terpri)
(write (evenp 10))
(terpri)
(write (evenp 7 ))
(terpri)
(write (oddp 7 ))
(terpri)
(write (zerop 0.0000000001))
(terpri)
(write (eq 3 3.0 ))
(terpri)
(write (equal 3 3.0 ))
(terpri)
(write (null nil ))
Kodu çalıştırdığınızda, aşağıdaki sonucu döndürür -
T
NIL
T
NIL
T
NIL
NIL
NIL
T
Örnek 2
Main.lisp adlı yeni bir kaynak kod dosyası oluşturun ve içine aşağıdaki kodu yazın.
(defun factorial (num)
(cond ((zerop num) 1)
(t ( * num (factorial (- num 1))))
)
)
(setq n 6)
(format t "~% Factorial ~d is: ~d" n (factorial n))
Kodu çalıştırdığınızda, aşağıdaki sonucu döndürür -
Factorial 6 is: 720