Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lisp / Filp / LISP4

.TXT
Скачиваний:
19
Добавлен:
15.06.2014
Размер:
19.19 Кб
Скачать
NSUBSTITUTE [new,old,list,test] Function
NSUBSTITUTE-IF [new,test,list] Function

Њ®¤ЁдЁжЁагп cons-л ўлб®Є®Ј® га®ў­п <бЇЁбЄ >, (NSUBSTITUTE
­®ўл© бв ал© бЇЁб®Є вҐбв) § ¬Ґй Ґв ­  <­®ўлҐ> н«Ґ¬Ґ­вл вҐ
<бв алҐ> н«Ґ¬Ґ­вл <бЇЁбЄ >, ¤«п Є®в®але ЇаЁ§­ Є Їа®ўҐаЄЁ Ї®
<вҐбвг> ®в«ЁзҐ­ ®в NIL.…б«Ё <вҐбв>- аЈг¬Ґ­в Ґбвм NIL Ё«Ё ­Ґ
§ ¤ ­, NSUBSTITUTE ЁбЇ®«м§гҐв EQL-вҐбв.
(NSUBSTITUTE-IF ­®ўл© вҐбв бЇЁб®Є) § ¬Ґй Ґв ­  <­®ўлҐ>
н«Ґ¬Ґ­вл <бЇЁбЄ >, ¤«п Є®в®але ЇаЁ§­ Є Їа®ўҐаЄЁ Ї® <вҐбвг>
®в«ЁзҐ­ ®в NIL.
ЏаЁ¬Ґа:
(DEFUN NSUBSTITUTE (NEW OLD LST TEST)
((ATOM LST) LST)
( ((NULL TEST)
(SETQ TEST 'EQL) ) )
((FUNCALL TEST OLD (CAR LST))
(RPLACA LST NEW)
(NSUBSTITUTE NEW OLD (CDR LST) TEST) )
(NSUBSTITUTE NEW OLD (CDR LST) TEST) )

(NSUBSTITUTE 5 2 '(4 2 (3 . 2) 4)) --> (4 5 (3 . 2) 4)
(NSUBSTITUTE 'CANNIBALS 'NOUN '(NOUN LIKE TO EAT NOUN))
--> (CANNIBALS LIKE TO EAT CANNIBALS)


NSUBST [new,old,object,test] Function
NSUBST-IF [new,test,object] Function


Њ®¤ЁдЁжЁагп cons-л <®ЎмҐЄв >, (NSUBST ­®ўл© бв ал© ®ЎмҐЄв
вҐбв) § ¬Ґй Ґв ­  <­®ўлҐ> ўбҐ Ї®¤ўла ¦Ґ­Ёп <®ЎмҐЄв >, ¤«п Є®в®але
ЇаЁ§­ Є Їа®ўҐаЄЁ Ї® <вҐбвг> ®в«ЁзҐ­ ®в NIL. …б«Ё вҐбв- аЈг¬Ґ­в
Ґбвм NIL Ё«Ё ­Ґ § ¤ ­, NSUDST ЁбЇ®«м§гҐв EQL-вҐбв.
(NSUBST ­®ўл© вҐбв ®ЎмҐЄв) § ¬Ґй Ґв ­  <­®ўлҐ> ўбҐ
Ї®¤ўла ¦Ґ­Ёп <®ЎмҐЄв >, ¤«п Є®в®але ЇаЁ§­ Є Їа®ўҐаЄЁ Ї® <вҐбвг>
®в«ЁзҐ­ ®в NIL.
ЏаЁ¬Ґа:
(DEFUN NSUBST (NEW OLD OBJ TEST)
( ((NULL TEST)
(SETQ TEST 'EQL) ) )
((FUNCALL TEST OLD OBJ) NEW)
((ATOM OBJ) OBJ)
(RPLACA OBJ (NSUBST NEW OLD (CAR OBJ) TEST))
(RPLACA OBJ (NSUBST NEW OLD (CDR OBJ) TEST)) )

(NSUBST 5 2 '(4 2 (3 . 5 ) 4)





DELETE [item,list,test] Function
DELETE-IF [test,list] Function


(DELETE ўла ¦Ґ­ЁҐ бЇЁб®Є вҐбв) г­Ёз⮦ Ґв ўбҐ н«Ґ¬Ґ­вл
<бЇЁбЄ >, ¤«п Є®в®але ЇаЁ§­ Є Їа®ўҐаЄЁ Ї® <вҐбвг> Ґбвм ­Ґ NIL.
…б«Ё вҐбв- аЈг¬Ґ­в Ґбвм NIL Ё«Ё ­Ґ § ¤ ­, DELETE ЁбЇ®«м§гҐв
EQL-вҐбв.
(DELETE-IF ⥪бв бЇЁб®Є) г­Ёз⮦ Ґв ўбҐ н«Ґ¬Ґ­вл <бЇЁбЄ >,
¤«п Є®в®але ЇаЁ Їа®ўҐаЄҐ Ї® <вҐбвг> ЇаЁ§­ Є ®в«ЁзҐ­ ®в NIL.
ЏаЁ¬Ґа:
(DEFUN DELETE (ITEM LST TEST
RLST )
( ((NULL TEST)
(SETQ TEST 'EQL) ) )
(LOOP
((ATOM LST))
((FUNCALL TEST ITEM (CAR LST)))
(POP LST) )
((ATOM LST) LST)
(SETQ RSLT LST)
(LOOP
((ATOM (CDR LST)) RSLT)
( ((FUNCALL TEST ITEM (CADR LST))
(RPLACD LST (CDDR LST)) )
(POP LST) ) ) )

(DELETE '(2 5) '((5 2) (2 5) (2 3)) 'EQUAL) --> ((5 2) (2 5)
(2 3)) 'EQUAL) --> ((5 2) (2 3))
(DELETE-IF '(-2 0 7 -0.1 3)) --> (0 7 3)



NREVERSE [list,object] Function

(NREVERSE бЇЁб®Є) ЇҐаҐбв ў«пҐв ¬Ґбв ¬Ё н«Ґ¬Ґ­вл <бЇЁбЄ >.
(NREVERSE cЇЁб®Є ®ЎмҐЄв) ўл¤ Ґв ЇҐаҐбв ў«Ґ­­л© <бЇЁб®Є>,
б楯«Ґ­­л© б <®ЎмҐЄв®¬>. ђҐ§г«мв в а Ў®вл  ­ «®ЈЁзҐ­ १г«мв вг
а Ў®вл (NCONC (NREVERSE list) object), ­® ўл§®ў NREVERSE б ¤ўг¬п
 аЈг¬Ґ­в ¬Ё Ў®«ҐҐ нд䥪⨢Ґ­. ‚ «оЎ®¬ б«гз Ґ NREVERSE
¬®¤ЁдЁжЁагҐв cons-л ўҐае­ҐЈ® га®ў­п <бЇЁбЄ > Ё ­Ґ ЁбЇ®«м§гҐв
¤®Ї®«­ЁвҐ«м­ле cons-®ў.
ЏаЁ¬Ґа:
(DEFUN NREVERSE (LST OBJ)
((ATOM LST) OBJ)
(NREVERSE (CDR LST) (RPLACD LST OBJ)) )

(NREVERSE '(A B C D E)) --> (E D C B A)
(NREVERSE '(A B C) '(D E F)) --> (C B A D E F)
(NREVERSE '(A B C) 'D) --> (C B A . D)

(SETQ FOO '(A B C)) --> (A B C)
(NREVERSE FOO) --> (C B A)
FOO --> A



NBUTLAST [list,n] Function

…б«Ё <n> - ­®«м Ё«Ё Ї®«®¦ЁвҐ«м­®Ґ 楫®Ґ, в® (NBUTLAST бЇЁб®Є
n) ў®§ўа й Ґв бЇЁб®Є, б®бв®пйЁ© Ё§ ўбҐе, Єа®¬Ґ Ї®б«Ґ¤­Ёе <n>
н«Ґ¬Ґ­в®ў <бЇЁбЄ >, Їг⥬ § ¬ҐйҐ­Ёп cdr-н«Ґ¬Ґ­в  n-в®Ј® cons- ,
ў§пв®Ј® Ё§ Є®­ж  <бЇЁбЄ >, ­  NIL. ЋвбгвбвўЁҐ n ®в®¦¤Ґбвў«пҐвбп б
1.
ЏаЁ¬Ґа:
(DEFUN NBUTLAST (LST N)
((AND (INTEGERP N) (>=N 0))
(NREVERSE (NTHCDR N (NREVERSE LST))) )
(NBUTLAST LST 1) )

(NBUTLAST '(A B C D)) --> (A B C)
(NBUTLAST '(A B C D) 2) --> (A B)
(SETQ FOO '(A B C)) --> (A B C)
(NBUTLAST FOO) --> (A B)
FOO --> (A B)
(NBUTLAST FOO 2) --> NIL
FOO --> (A B)




NCONC [list1,list2,...,listN] Function

(NCONC бЇЁб®Є1,...,бЇЁб®ЄN) ўл¤ Ґв бЇЁб®Є, б®бв®пйЁ© Ё§
н«Ґ¬Ґ­в®ў бЇЁбЄ®ў <бЇЁб®Є1>,...,<бЇЁб®ЄN> ў ⮬ ¦Ґ Ї®ап¤ЄҐ, Їг⥬
¬®¤ЁдЁЄ жЁЁ Ї®б«Ґ¤­Ёе cdr-н«Ґ¬Ґ­в®ў <бЇЁбЄ 1>,...,<бЇЁбЄ N>.
Ћв¬ҐвЁ¬, зв® NCONC Ё APPEND,§ ¤ ­­лҐ б ®¤Ё­ Є®ўл¬Ё
 аЈг¬Ґ­в ¬Ё, ўл¤ ¤гв нЄўЁў «Ґ­в­лҐ бЇЁбЄЁ.
…б«Ё §­ зҐ­ЁҐ¬ FOO пў«пҐвбп бЇЁб®Є, в® (NCONC FOO FOO)
б®§¤ бв жЁаЄг«па­л© бЇЁб®Є, Ё Ґб«Ё Ўг¤Ґв ᤥ« ­  Ї®ЇлвЄ  ўл¤ вм
­  нЄа ­ ¤ЁбЇ«Ґп §­ зҐ­ЁҐ FOO, в® нв®в Їа®жҐбб Ўг¤Ґв ¤«Ёвмбп
ЎҐбЄ®­Ґз­®.
ЏаЁ¬Ґа:
(DEFUN NCONC (LST1 LST2)
((ATOM LST1) LST2)
(RPLACD (LAST LST1) LST2)
LST1 )

(SETQ FOO '(D E F)) --> (D E F)
(NCONC '(A B C) FOO '(G H I)) --> (A B C D E F G H I)
FOO --> (D E F G H I)




TCONC [dotted-pair,object] Function

(TCONC в®зҐз­ п-Ї а  ®ЎмҐЄв) ¤®Ў ў«пҐв <®ЎмҐЄв> ў Є®­Ґж
бЇЁбЄ , car-н«Ґ¬Ґ­в гЄ §лў Ґв ­  <в®зҐз­го-Ї аг>, бЇЁб®Є
¬®¤ЁдЁжЁагҐвбп. TCONC ў®§ўа й Ґв <в®зҐз­го-Ї аг> Ё
¬®¤ЁдЁжЁа®ў ­­л© cdr-н«Ґ¬Ґ­в, гЄ §лў ойЁ© ­  ­®ўл© Є®­Ґж бЇЁбЄ .
TCONC ¤®Ў ў«пҐв н«Ґ¬Ґ­вл ў Є®­Ґж бЇЁбЄ , ЁбЇ®«м§гп RPLACD
¤«п ¬®¤ЁдЁЄ жЁЁ бЇЁбЄ . …Ј® ЇҐаўл¬  аЈг¬Ґ­в®¬ п «пҐвбп в®зҐз­ п
Ї а , car-н«Ґ¬Ґ­в Є®в®а®© гЄ §лў Ґв ­  ­ з «® бЇЁбЄ ,  
cdr-н«Ґ¬Ґ­в - ­  Є®­Ґж (в.Ґ. ­  Ї®б«Ґ¤­Ё© cons ) бЇЁбЄ . ‚в®ал¬
 аЈг¬Ґ­в®¬ пў«пҐвбп н«Ґ¬Ґ­в, Є®в®ал© Ўл« ¤®Ў ў«Ґ­ ў Є®­Ґж бЇЁбЄ .
Љ Є Ї®Є § ­® ­  ЇаЁ¬ҐаҐ, Є®Ј¤  TCONC ўл§лў Ґвбп ў 1-© а §, ҐҐ 1-¬
 аЈг¬Ґ­в®¬ Ўг¤Ґв  в®¬ NIL Ё«Ё бЇЁб®Є (NIL).
ЏаЁ¬Ґа:
(DEFUN TCONC (PAIR OBJ)
(SETQ OBJ (LIST OBJ))
((ATOM PAIR)
((CONS OBJ OBJ) )
((ATOM (CDR PAIR))
(RPLACA PAIR OBJ)
(RPLACD PAIR OBJ) )
(RPLACD (CDR PAIR) OBJ)
(RPLACD PAIR OBJ) )

(SETQ FOO NIL) --> NIL ;set FOO to NIL
(SETQ FOO (TCONC FOO 'A)) --> ((A) A)
(TCONC FOO 'B) --> ((A B) B)
(TCONC FOO 'C) --> ((A B C) C)
(CAR FOO) --> (A B C)

(SETQ FOO (CONS NIL)) --> (NIL)
(TCONC FOO 'A) --> ((A) A)
(TCONC FOO 'B) --> ((A B) B)
(TCONC FOO 'C) --> ((A B C) C)
(CAR FOO) --> (A B C)




LCONC [dotted-paip] Function

(LCONC в®зҐз­ п-Ї а  бЇЁб®Є) ¤®Ў ў«пҐв <бЇЁб®Є> ў Є®­Ґж
бЇЁбЄ , ­  Є®в®ал© гЄ §лў Ґв car-н«Ґ¬Ґ­в <в®зҐз­®© Ї ал>, Їг⥬
¬®¤ЁдЁЄ жЁЁ бЇЁбЄ . LCONC ў®§ўа й Ґв в®зҐз­го Ї аг, 祩
cdr-н«Ґ¬Ґ­в ¬®¤ЁдЁжЁагҐвбп Ё гЄ §лў Ґв ­  ­®ўл© Є®­Ґж бЇЁбЄ .
LCONC ¤®Ў ў«пҐв ­®ўлҐ бЇЁбЄЁ ў еў®бв®ў®© Є®­Ґж бЇЁбЄ , ЁбЇ®«м§гп
RPLACD ¤«п ¬®¤ЁдЁЄ жЁЁ бЇЁбЄ . …Ј® 1-¬  аЈг¬Ґ­в®¬ пў«пҐвбп cons,
car-н«Ґ¬Ґ­в Є®в®а®Ј® гЄ §лў Ґв ­  ­ з «® бЇЁбЄ ,   cdr-н«Ґ¬Ґ­в -
­  Є®­Ґж (в.Ґ. ­  Ї®б«Ґ¤­Ё© cons) бЇЁбЄ . ‚в®ал¬  аЈг¬Ґ­в®¬ LCONC
пў«пҐвбп н«Ґ¬Ґ­в, Є®в®ал© Ўл« ¤®Ў ў«Ґ­ ў Є®­Ґж бЇЁбЄ . Љ Є
Ї®Є § ­® ­  ЇаЁ¬Ґа е, ЇаЁ ЇҐаў®­ з «м­®¬ ўл§®ўҐ LCONC ЇҐаўл¬ ҐҐ
 аЈг¬Ґ­в®¬ Ўг¤Ґв  в®¬ NIL Ё«Ё бЇЁб®Є (NIL).
ЏаЁ¬Ґа:
(DEFUN LCONC (PAIR LST)
((ATOM LST) PAIR)
((ATOM PAIR)
(CONS LST (LAST LST)) )
((ATOM (CDR PAIR))
(RPLACA PAIR LST)
(RPLACD PAIR (LAST LST)) )
(RPLACD (CDR PAIR) LST)
(RPLACD PAIR (LAST LST)) )

(SETQ FOO NIL) --> NIL ;set FOO to NIL
(SETQ FOO (LCONC FOO '(A B))) --> ((A B) B)
(LCONC FOO '(C D)) --> ((A B C D) D)
(LCONC FOO '(E F)) --> ((A B C D E F) F)
(CAR FOO) --> (A B C D E F )

(SETQ FOO (CONS NIL)) --> (NIL) ; set FOO to (NIL)
(LCONC FOO '(A B)) --> ((A B) B)
(LCONC FOO '(C D)) --> ((A B C D) D)
(LCONC FOO '(E F)) --> ((A B C D E F) F)
(CAR FOO) --> (A B C D E F)




SPLIT [list] Function

(SPLIT бЇЁб®Є) а §ЎЁў Ґв <бЇЁб®Є> ­  ¤ў  бЇЁбЄ  Їг⥬ § ¬Ґ­л
cdr-н«Ґ¬Ґ­в  cons-  ўҐае­ҐЈ® га®ў­п, бв®п饣® Ї®бҐаҐ¤Ё­Ґ
<бЇЁбЄ >, ­  NIL. SPLIT ў®§ўа й Ґв еў®бв <бЇЁбЄ >, ­ зЁ­ п б
¬Ґбв  а §ЎЁҐ­Ёп.
…б«Ё <бЇЁб®Є> Ё¬ҐҐв зҐв­®Ґ Є®«ЁзҐбвў® н«Ґ¬Ґ­в®ў, ҐЈ® Ј®«®ў  Ё
еў®бв ЇаЁ а §ЎЁҐ­ЁЁ Ўг¤гв Ё¬Ґвм ®¤Ё­ Є®ў®Ґ Є®«ЁзҐбвў® н«Ґ¬Ґ­в®ў.
…б«Ё <бЇЁб®Є> Ё¬ҐҐв ­ҐзҐв­®Ґ Є®«ЁзҐбвў® н«Ґ¬Ґ­в®ў, Ј®«®ў  Ўг¤Ґв
Ё¬Ґвм ­  ®¤Ё­ н«Ґ¬Ґ­в Ў®«миҐ, 祬 еў®бв.
ЏаЁ¬Ґа:
(DEFUN SPLIT (LST)
((ATOM LST) LST)
(split-aux LST (CDR LST)) )

(DEFUN split-aux (HEAD TAIL)
((ATOM TAIL)
(PROG1 (CDR HEAD) (RPLACD HEAD NIL)) )
(POP TAIL)
((ATOM TAIL)
(PROG1 (CDR HEAD) (RPLACD HEAD NIL)) )
(split-aux (CDR HEAD) (CDR TAIL)) )

(SETQ NAMES '(TJM SUE JOE PAT SAM)) --> (TOM SUE JOE PAT
SAM)
(SPLIT NAMES) --> (PAT SAM)
NAMES --> (TOM SUE JOE)






SORT [list,test] Function

…б«Ё <вҐбв> пў«пҐвбп ў аЁ ­в®¬ ЇҐаҐбв ­®ўЄЁ ¤ўге  аЈг¬Ґ­в®ў,
(SORT бЇЁб®Є вҐбв) б®авЁагҐв н«Ґ¬Ґ­вл <бЇЁбЄ > ­  ®б­®ўҐ <вҐбв >
Ё ў®§ўа й Ґв १г«мв в. (FUNCALL вҐбв ®ЎмҐЄв1 ®ЎмҐЄв2) ў®§ўа й Ґв
NIL в®Ј¤  Ё в®«мЄ® в®Ј¤ , Є®Ј¤  <®ЎмҐЄв1> а бЇ®« Ј Ґвбп Ї®б«Ґ
<®ЎмҐЄв 2> Ё«Ё а ўҐ­ Ґ¬г.
SORT ўлЇ®«­пҐв б®авЁа®ўЄг Ё ®ЎмҐ¤Ё­Ґ­ЁҐ, ЇаЁ н⮬ Є®«ЁзҐбвў®
вॡ㥬®Ј® ўаҐ¬Ґ­Ё Їа®Ї®ажЁ®­ «м­® n logn, Ј¤Ґ n - нв® ¤«Ё­ 
<бЇЁбЄ >. Ља®¬Ґ в®Ј®, б®авЁа®ўЄ  пў«пҐвбп ўҐа­®© ў ⮬ б«гз Ґ,
Є®Ј¤  н«Ґ¬Ґ­вл <бЇЁбЄ >, Є®в®алҐ <вҐбв> ­ е®¤Ёв а ў­л¬Ё ¤агЈ
¤агЈг, Ўг¤гв бв®пвм ў ⮬ ¦Ґ Ї®ап¤ЄҐ ў १г«мв вҐ.
ЏаЁ¬Ґа:
(DEGUN SORT (LST TST)
((NULL LST) NIL)
((NULL (CDR LST)) LST)
((SETQ LST (CONS (SORT (SPLIT LST) TST) (SORT LST TST)))
(MERGE (CDR LST) (CAR LST) TST) )

(SORT '(5 2 7 3 -4) '<) --> (-4 2 3 5 7)
(SORT '(DOG COW CAT) 'STRING<) --> (CAT COW DOG)





MERGE [list1,list2,test] Function

…б«Ё <вҐбв> пў«пҐвбп ў аЁ ­в®¬ ЇҐаҐбв ­®ўЄЁ ¤ўге  аЈг¬Ґ­в®ў,
в® (MERGE бЇЁб®Є1 бЇЁб®Є2 вҐбв) ®ЎмҐ¤Ё­пҐв н«Ґ¬Ґ­вл <бЇЁбЄ 1> Ё
<бЇЁбЄ 2> ­  ®б­®ўҐ <вҐбв > Ё ў®§ўа й Ґв १г«мв в. (FUNCALL вҐбв
®ЎмҐЄв1 ®ЎмҐЄв2) ў®§ўа й Ґв NIL в®Ј¤  Ё в®«мЄ® в®Ј¤ , Є®Ј¤ 
<®ЎмҐЄв1> а бЇ®« Ј Ґвбп Ї®б«Ґ <®ЎмҐЄв 2> Ё«Ё а ўҐ­ Ґ¬г.
ЋЎмҐ¤Ё­Ґ­ЁҐ пў«пҐвбп ўҐа­л¬ ў ⮬ б«гз Ґ, Є®Ј¤  Ґб«Ё н«Ґ¬Ґ­в
<бЇЁбЄ 1> а ўҐ­ н«Ґ¬Ґ­вг <бЇЁбЄ 2>, в® н«Ґ¬Ґ­в <бЇЁбЄ 1> Ўг¤Ґв
бв®пвм ЇҐаҐ¤ н«Ґ¬Ґ­в®¬ <бЇЁбЄ 2> ў १г«мв вҐ.
ЏаЁ¬Ґа:
(DEFUN NERGE (LST1 LST2 TST)
((ATON LST1) LST2)
((ATOM LST2) LST1)
((FUNCALL TST (CAR LST2) (CAR LST1))
(RPLACD LST2 (MERGE LST1 (CDR LST2) TST)) )
(RPLACD LST1 (MERGE (CDR LST1) LST2 TST)) )

(MERGE '(2 4 6 8 10) '(3 5 7 11) '<) --> (2 3 4 5 6 7 8 10
11)





5.4. ”г­ЄжЁЁ а бЇ®§­ ў вҐ«п

”г­ЄжЁЁ а бЇ®§­ ў вҐ«п - нв® г⢥তҐ­Ёп, ЁбЇ®«м§гҐ¬лҐ ¤«п
а бЇ®§­ ў ­Ёп Ё«Ё Ё¤Ґ­вЁдЁЄ жЁЁ ®ЎмҐЄв®ў ¤ ­­ле muLISP. ќв®
дг­ЄжЁЁ а Ў®в ов б ®¤­Ё¬  аЈг¬Ґ­в®¬,   ў®§ўа й ов ЇҐаҐ¬Ґ­­го ’
Ё«Ё NIL. ’.Є. дг­ЄжЁЁ ЁбЇ®«м§говбп ¤«п Ё¤Ґ­вЁдЁЄ жЁЁ ®ЎмҐЄв®ў, в®
®­Ё ­Ґ Їа®ў®¤пв Є ®иЁЎЄ ¬ Ї® ­Ґ¤Ґ©б⢨⥫м­л¬  аЈг¬Ґ­в ¬.
Ќ ЇаЁ¬Ґа, зЁб«®ўлҐ дг­ЄжЁЁ а бЇ®§­ ў вҐ«п ZEROP, PLUSP, MINUSP,
ODDP Ё EVENP ­Ґ ўл§лў ов ®иЁЎЄЁ "ЌҐзЁб«®ў®©  аЈг¬Ґ­в", ¤ ¦Ґ Ґб«Ё
ў Є зҐб⢥  аЈг¬Ґ­в  § ¤ ­ бЁ¬ў®« Ё«Ё cons; ў н⮬ б«гз Ґ ®­Ё
Їа®бв® ў®§ўа й ов NIL.


SYMBOLP [object] Function

…б«Ё <®ЎмҐЄв> Ґбвм бЁ¬ў®«, ”г­ЄжЁп ў®§ўа й Ґв ’, ў Їа®вЁў­®¬
б«гз Ґ - NIL.
ЏаЁ¬Ґа:
(DEFUN SYMBOLP (OBJ)
((if OBJ is a symbol) T)
NIL )

(SYMBOL 'DOG) --> T
(SYMBOL 100) --> NIL
(SYMBOL 2/3) --> NIL
(SYMBOL 4.25) --> NIL
(SYMBOL '(A B C)) --> NIL



INTEGERP [object] Function

…б«Ё <®ЎмҐЄв> - 楫®Ґ зЁб«®, дг­ЄжЁп ў®§ўа й Ґв ’, Ё­ зҐ -
NIL.
ЏаЁ¬Ґа:
(DEFUN INTEGERP (OBJ)
((if OBJ is a integer) T)
NIL )




(INTEGERP 'DOG) --> NIL
(INTEGERP 1000) --> T
(INTEGERP 2/3) --> NIL
(INTEGERP 4.23) --> NIL
(INTEGERP '(A D C)) --> NIL





NUMBERP [object] Function

…б«Ё <®ЎмҐЄв> Ґбвм зЁб«® - 楫®Ґ Ё«Ё ¤а®Ў­®Ґ, дг­ЄжЁп
ў®§ўа й Ґв ’, Ё­ зҐ - NIL.
ЏаЁ¬Ґа:
(DEFUN NUMBERP (OBJ)
((INTEGERP OBJ))
((if OBJ is a rational number) T)
NIL)

(NUMBER 'DOG) --> NIL
(NUMBER 100) --> T
(NUMBER 2/3) --> T
(NUMBER 4.235) --> T
(NUMBER '(A B C)) --> NIL



ATOM [object] Function

…б«Ё <®ЎмҐЄв> Ґбвм  в®¬ - бЁ¬ў®« Ё«Ё зЁб«®, дг­ЄжЁп
ў®§ўа й Ґв ’, Ё­ зҐ - NIL.
ЏаЁ¬Ґа:
(DEFUN ATOM (OBJ)
(OR (SYMBOLP OBJ) (NUMBERP OBJ)) )

(ATOM 'DOG) --> T
(ATOM 100) --> T
(ATOM 2/3) --> T
(ATOM 4.253) --> T
(ATOM '(A B C)) --> NIL
(ATOM NIL) --> T




CONSP [object] Function

…б«Ё <®ЎмҐЄв> Ґбвм cons, дг­ЄжЁп ў®§ўа й Ґв ’, Ё­ зҐ - NIL.
Џа®¬Ґа:
(DEFUN CONSP (OBJ)
(NOT (ATOM OBJ)) )

(CONSP 'DOG) --> NIL
(CONSP 100) --> NIL
(CONSP 2/3) --> NIL
(CONSP 4.253) --> NIL
(CONSP '(A B C)) --> T
(CONSP NIL) --> NIL



LISTP [object] Function

…б«Ё <®ЎмҐЄв> Ґбвм бЇЁб®Є - cons Ё«Ё  в®¬ NIL, дг­ЄжЁп
ў®§ўа й Ґв ’, Ё­ зҐ - NIL.
ЏаЁ¬Ґа:
(DEFUN LISTP (OBJ)
(OR (CONSP OBJ) (NULL OBJ)) )

(LISTP 'DOG) --> NIL
(LISTP 100) --> NIL
(LISTP 2/3) --> NIL
(LISTP 4.253) --> NIL
(LISTP '(A B C)) --> T
(LISTP NIL) --> T





Соседние файлы в папке Filp
  • #
    15.06.2014538 б20LISP21.LSP
  • #
    15.06.2014457 б19LISP22.LSP
  • #
    15.06.2014911 б19LISP3.LSP
  • #
    15.06.201421.88 Кб20LISP3.TXT
  • #
    15.06.20141.26 Кб21LISP4.LSP
  • #
    15.06.201419.19 Кб19LISP4.TXT
  • #
    15.06.20141.67 Кб21LISP5.LSP
  • #
    15.06.201415.68 Кб19LISP5.TXT
  • #
    15.06.20141.02 Кб20LISP6.LSP
  • #
    15.06.201419.25 Кб20LISP6.TXT
  • #
    15.06.20141.67 Кб19LISP7.LSP