apohllo.pl
więcej niż strona domowa...
 

Lekcja 9

Spis treści | 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 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

Spis treści | Lekcja 8 | Lekcja 10

lisp | Opublikowano 12:17 29-11-2010. Ostatnia modyfikacja 12:17 29-11-2010 |
comments powered by Disqus