<< lekcja 8 | lekcja 10 >>
9. Predykaty
Predykat jest funkcją zwracającą odpowiedź. Predykat zwraca symbol T kiedy ma na myśli tak i symbol NIL, kiedy odpowiedź znaczy nie. Predykat z poniższego przykładu orzeka, czy na jego wejściu jest numer.
9.1.
(NUMBERP 2) => T
(NUMBERP KOT ) => NIL
|
Oto inne przykłady predykatów: < zwraca T, jeśli jego pierwsze wejście jest mniej niż jego drugie wejście i analogicznie > zwraca T, jeśli jego pierwsze wejście jest większe niż jego drugie wejście. (To jest też pierwszy wyjątek od konwencji, że nazwy predykatów kończą się literą "'P".)
9.2.
(< 2 3) => T
(> 2 3) => NIL
|
EQUAL to predykat porównujący dwie rzeczy, by zobaczyć, czy są one takie same. EQUAL zwraca T, jeśli jego dwa wejścia są równe; w przeciwnym wypadku zwraca NIL. Dialekt języka programowania Lisp też zawiera orzeczenia nazwane EQ, EQL i EQUALP, których zachowanie jest nieznacznie różne niż EQUAL; różnice nie będą dotyczyły nas tutaj. Dla początkujących, wystarczy znajomość EQUAL.
9.3.
(EQUAL KOT MYSZ) => NIL
(EQUAL KOT KOT) => T
|
Predykat LISTP zwraca T, jeśli jego wejście jest listą oraz zwraca NIL dla nie - listy.
9.4.
(LISTP kotek) => NIL
(LISTP (wlazl kotek na plotek)) => T
|
<< lekcja 8 | lekcja 10 >> |