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