LISP-술어
술어는 특정 조건에 대한 인수를 테스트하고 조건이 거짓이면 nil을 반환하거나 조건이 참이면 nil이 아닌 값을 반환하는 함수입니다.
다음 표는 가장 일반적으로 사용되는 술어 중 일부를 보여줍니다-
| Sr. 아니. | 술어 및 설명 | 
|---|---|
| 1 | atom 하나의 인수를 취하고 인수가 원자이면 t를 반환하고 그렇지 않으면 nil을 반환합니다.  |  
      
| 2 | equal 두 개의 인수를 사용하고 반환합니다. t 구조적으로 동일하거나 nil 그렇지 않으면.  |  
      
| 삼 | eq 두 개의 인수를 사용하고 반환합니다. t 동일한 객체 인 경우 동일한 메모리 위치를 공유하거나 nil 그렇지 않으면.  |  
      
| 4 | eql 두 개의 인수를 사용하고 반환합니다. t 인수가 eq, 또는 동일한 값을 가진 동일한 유형의 숫자이거나 동일한 문자를 나타내는 문자 객체 인 경우 또는 nil 그렇지 않으면.  |  
      
| 5 | evenp 하나의 숫자 인수를 사용하여 t 인수가 짝수이거나 nil 그렇지 않다면.  |  
      
| 6 | oddp 하나의 숫자 인수를 사용하여 t 인수가 홀수이거나 nil 그렇지 않다면.  |  
      
| 7 | zerop 하나의 숫자 인수를 사용하여 t 인수가 0이거나 nil 그렇지 않다면.  |  
      
| 8 | null 하나의 인수를 취하고 t 인수가 nil로 평가되면 nil.  |  
      
| 9 | listp 하나의 인수를 취하고 t 인수가 목록으로 평가되면 그렇지 않으면 반환됩니다. nil.  |  
      
| 10 | greaterp 하나 이상의 인수를 취하고 t 단일 인수가 있거나 인수가 왼쪽에서 오른쪽으로 연속적으로 더 큰 경우 또는 nil 그렇지 않다면.  |  
      
| 11 | lessp 하나 이상의 인수를 취하고 t 단일 인수가 있거나 인수가 왼쪽에서 오른쪽으로 연속적으로 작은 경우, 또는 nil 그렇지 않다면.  |  
      
| 12 | numberp 하나의 인수를 취하고 t 인수가 숫자이거나 nil 그렇지 않다면.  |  
      
| 13 | symbolp 하나의 인수를 취하고 t 인수가 기호이면 그렇지 않으면 반환합니다. nil.  |  
      
| 14 | integerp 하나의 인수를 취하고 t 인수가 정수이면 그렇지 않으면 반환합니다. nil.  |  
      
| 15 | rationalp 하나의 인수를 취하고 t 인수가 유리수, 비율 또는 숫자이면 다음을 반환합니다. nil.  |  
      
| 16 | floatp 하나의 인수를 취하고 t 인수가 부동 소수점 숫자이면 nil.  |  
      
| 17 | realp 하나의 인수를 취하고 t 인수가 실수이면 그렇지 않으면 반환합니다. nil.  |  
      
| 18 | complexp 하나의 인수를 취하고 t 인수가 복소수이면 반환합니다. nil.  |  
      
| 19 | characterp 하나의 인수를 취하고 t 인수가 문자이면 그렇지 않으면 반환합니다. nil.  |  
      
| 20 | stringp 하나의 인수를 취하고 t 인수가 문자열 객체이면 반환합니다. nil.  |  
      
| 21 | arrayp 하나의 인수를 취하고 t 인수가 배열 객체이면 반환합니다. nil.  |  
      
| 22 | packagep 하나의 인수를 취하고 t 인수가 패키지이면 그렇지 않으면 반환합니다. nil.  |  
      
예 1
main.lisp라는 새 소스 코드 파일을 만들고 그 안에 다음 코드를 입력합니다.
(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 )) 
    코드를 실행하면 다음 결과가 반환됩니다.
T
NIL
T
NIL
T
NIL
NIL
NIL
T 
    예 2
main.lisp라는 새 소스 코드 파일을 만들고 그 안에 다음 코드를 입력합니다.
(defun factorial (num)
   (cond ((zerop num) 1)
      (t ( * num (factorial (- num 1))))
   )
)
(setq n 6)
(format t "~% Factorial ~d is: ~d" n (factorial n)) 
    코드를 실행하면 다음 결과가 반환됩니다.
Factorial 6 is: 720