Функції відбору, Детальна інформація
Функції відбору
$ (NTH 3 '(A B C D)) $ (NTH 2 '(A B . C))
D NIL
5. (SUBLIST list n m). Якщо n та m - невід’ємні цілі та n<=m, функція копіює та видає з n-го по m-ий елементи списку list, де CAR - елемент списку є нульовий елемент. Якщо m - не ціле число або більше чи рівне довжині списку, m приймається як величина на одиницю менша за довжину списку. Якщо n - не ціле число, від’ємне число або n > m, SUBLIST повертає NIL.
(DEFUN SUBLIST (LST N M)
((INTEGERP N)
((INTEGERP M)
(FIRST (ADD1 (-M N)) (NTHCDR N LST)) )
(NTHCDR N LST) ) )
$ (SUBLIST '(A B C D E F) 2 4) $ (SUBLIST '(A B C D E F) 0 3)
(C D E) (A B C D)
$ (SUBLIST '(A B C D E F) 2 2) $ (SUBLIST '(A B C D E F) 2)
(C) (C D E F)
Повертає кількість елементів у списку list, для яких ознака при порівнянні з об’єктом object за тестом test не дорівнює NIL. Якщо тест - аргумент не задано або дорівнює NIL, COUNT використовує EQL - тест.
(COUNT-IF test list). Повертає кількість елементів у списку list, для яких ознака перевірки за тестом не дорівнює NIL.
(DEFUN COUNT1 (OBJ LST TEST)
(count-aux OBJ LST TEST 0) )
(DEFUN count-aux (OBJ LST TEST COUNTER)
((ATOM LST) COUNTER)
( ((NULL TEST)
(SETQ TEST 'EQL) ) )
((FUNCALL TEST OBJ (CAR LST))
(count-aux OBJ (CDR LST) TEST (ADD1 COUNTER)) )
(count-aux OBJ (CDR LST) TEST COUNTER) )
$ (COUNT 'DOG '(CAT DOG COW PIG DOG ANT))
2
$ (COUNT '5 '(4 5 6 7 8) <)
3
$ (COUNT-IF 'ODDP '(3 4 5 6 7))
3
7. (FIND object list test). Виконує лінійний пошук у списку list того елемента, для якото ознака перевірки з об’єктом object за тестом test не дорівнює NIL. Якщо тест-аргумент дорівнює NIL або не задан, FIND використовує EQL-тест.
D NIL
5. (SUBLIST list n m). Якщо n та m - невід’ємні цілі та n<=m, функція копіює та видає з n-го по m-ий елементи списку list, де CAR - елемент списку є нульовий елемент. Якщо m - не ціле число або більше чи рівне довжині списку, m приймається як величина на одиницю менша за довжину списку. Якщо n - не ціле число, від’ємне число або n > m, SUBLIST повертає NIL.
(DEFUN SUBLIST (LST N M)
((INTEGERP N)
((INTEGERP M)
(FIRST (ADD1 (-M N)) (NTHCDR N LST)) )
(NTHCDR N LST) ) )
$ (SUBLIST '(A B C D E F) 2 4) $ (SUBLIST '(A B C D E F) 0 3)
(C D E) (A B C D)
$ (SUBLIST '(A B C D E F) 2 2) $ (SUBLIST '(A B C D E F) 2)
(C) (C D E F)
Повертає кількість елементів у списку list, для яких ознака при порівнянні з об’єктом object за тестом test не дорівнює NIL. Якщо тест - аргумент не задано або дорівнює NIL, COUNT використовує EQL - тест.
(COUNT-IF test list). Повертає кількість елементів у списку list, для яких ознака перевірки за тестом не дорівнює NIL.
(DEFUN COUNT1 (OBJ LST TEST)
(count-aux OBJ LST TEST 0) )
(DEFUN count-aux (OBJ LST TEST COUNTER)
((ATOM LST) COUNTER)
( ((NULL TEST)
(SETQ TEST 'EQL) ) )
((FUNCALL TEST OBJ (CAR LST))
(count-aux OBJ (CDR LST) TEST (ADD1 COUNTER)) )
(count-aux OBJ (CDR LST) TEST COUNTER) )
$ (COUNT 'DOG '(CAT DOG COW PIG DOG ANT))
2
$ (COUNT '5 '(4 5 6 7 8) <)
3
$ (COUNT-IF 'ODDP '(3 4 5 6 7))
3
7. (FIND object list test). Виконує лінійний пошук у списку list того елемента, для якото ознака перевірки з об’єктом object за тестом test не дорівнює NIL. Якщо тест-аргумент дорівнює NIL або не задан, FIND використовує EQL-тест.
The online video editor trusted by teams to make professional video in
minutes
© Referats, Inc · All rights reserved 2021