Функції конструктора, Детальна інформація

Функції конструктора
Тип документу: Реферат
Сторінок: 5
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 8.1
Скачувань: 883
((EQ COPY LST) LST)

(CONS (CAR LST) COPY) ) )

$ (REMOVE '(2 5) '((5 2) (2 5) (2 3)) 'EQUAL)

((5 2) (2 3))

$ (REMOVE-IF 'MINUSP '(-2 0 7 -0.1 3))

(0 7 3)

11. (REVERSE list object). Утворює та видає список, який складається з елементів списку list, але в оберненому порядку. Функція видає елементи списку в оберненому порядку, приєднані до об’єкту object. Результат є таким, як і при роботі функції (APPEND (REVERSE list) object), але виклик REVERSE в якості другого аргумента є більш ефективним.

(DEFUN REVERSE (LST OBJ)

((ATOM LST) OBJ)

(REVERSE (CDR LST) (CONS (CAR LST) OBJ))) )

$ (REVERSE '(A B C D E))

(F D C B A)

$ (REVERSE '(A B C) '(D E F)) $ (REVERSE '(A B C) 'D)

(C B A D E F) (C B A . D)

12. (SUBSTITUTE new old list test). Повертає копію високого рівня списку list, замінюючи на нові new елементи ті старі old елементи списку, для яких ознака перевірки за тестом test не дорівнює не NIL. Якщо тест-аргумент дорівнює NIL або не задан, SUBSTITUTE використовує EQL-тест.

(SUBSTITUTE-IF new test list). Повертає копію високого рівня списку list, замінюючи на нові new елементи усі елементи списку, для яких ознака перевірки за тестом не є NIL.

(DEFUN SUBSTITUTE (NEW OLD LST TEST)

((ATOM LST) LST)

( (NULL TEST)

(SETQ TEST 'EQL) ) )

((FUNCALL TEST OLD (CAR LST))

(CONS NEW (SUBSTITUTE NEW OLD (CDR LST) TEST)) )

((SETQ NEW (SUBSTITUTE NEW OLD (CDR LST) TEST))

((EQ NEW (CDR LST)) LST)

(CONS (CAR LST) NEW) )

$ (SUBSTITUTE 5 2 '(4 2 (3 . 2) 4))

(4 5 (3 . 2) 4)

$ (SUBSTITUTE 'CANNIBALS 'NOUN '(NOUN LIKE TO EAT NOUN) )

(CANNIBALS LIKE TO EAT CANNIBALS)

13. (SUBST new old object test). Повертає копію об’єкта object, замінюючи на нові new усі старі old підвирази об’єкта, для яких ознака перевірки за тестом test не дорівнює NIL. Якщо тест-аргумент дорівнює NIL або не задан, SUBST використовує EQL-тест.

The online video editor trusted by teams to make professional video in minutes