Зворотний зв'язок

Функції відбору

1. (CAR list), (CDR list). Ці функції відбору (селекторні функції) є примітивними функціями, та були розглянуті раніше. Також було показано як утворити похідні від них функції типу CXXXXR, де X  {A, D, }, при чому між літерами C та R знаходиться хоча б одна літера A чи D.

2. (LAST list) повертає останній на верхньому рівні cons списку list. Відмітимо, що LAST повертає останній cons, але не останній елемент списку. Якщо список є атом, LAST повертає NIL. Останній елемент можна отримати використанням функції CAR від (LAST list).

(DEFUN LAST (LST)

((ATOM LST) NIL)

((ATOM (CDR LST)) LST)

(LAST (CDR LST)) )

$ (LAST '(A B C D))$ (LAST 'FCO)

(D)NIL

$ (LAST '(A B C . D))$ (CAR (LAST '(A B C)))

(C . D)C

3. (NTHCDR n list). Якщо n - ноль або додатне ціле, функція повертає n-й CDR списку list. NTHCDR повертає NIL, якщо n не є ані 0, ані додатне ціле, або якщо список list має n або меньш елементів.

(DEFUN NTHCDR (N LST)

((ZEROP N) LST)

((AND (INTEGERP N) (PLUSP N))

((ATOM LST) NIL)

(NTHCDR (SUB1 N) (CDR LST)) ) )

$ (NTHCDR 0 '(A B C D))$ (NTHCDR 5 '(A B C D))

(A B C D)NIL

$ (NTHCDR 1 '(A B C D))$ (NTHCDR 2 '(A B . C))

(B C D)C

$ (NTHCDR 2 '(A B C D))

(C D)

4. (NTH n list). Якщо n - ноль або додатне ціле, функція повертає n-й елемент списку list, де CAR списку - нульовий елемент. NTH повертає NIL, якщо n не є ані 0, ані додатне ціле, або якщо список має n або меньш елементів.


Реферати!

У нас ви зможете знайти і ознайомитися з рефератами на будь-яку тему.







Не знайшли потрібний реферат ?

Замовте написання реферату на потрібну Вам тему

Замовити реферат