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

Функції відбору
Тип документу: Реферат
Сторінок: 5
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 6.8
Скачувань: 832
Реферат на тему:

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

1. (CAR list), (CDR list). Ці функції відбору (селекторні функції) є примітивними функціями, та були розглянуті раніше. Також було показано як утворити похідні від них функції типу CXXXXR, де X \xF0CE {A, D, \xF0C6}, при чому між літерами 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)

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

(DEFUN NTH (N LST)

((ATOM (NTHCDR N LST)) NIL)

(CAR (NTHCDR N LST)) )

$ (NTH 0 '(A B C D)) $ (NTH 4 '(A B C D))

A NIL

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