Основи мови програмування Лісп, Детальна інформація

Основи мови програмування Лісп
Тип документу: Реферат
Сторінок: 7
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 13.7
Скачувань: 1097
$ (CDDR ‘((q 1) (w 2) (e 3))) $ (CAAR ‘((q w)))

((e 3)) q

Функція конструктора CONS використовується для додання об’єкту до заданого списку. Об’єкт який додається, стає головою списку. Якщо другий аргумент не задано, то він вважається рівним NIL.

$ (CONS ‘(q w) ‘(r (t y))) $ (CONS apple ‘(q w))

((q w) r (t y)) (apple q w)

$ (CONS ‘(q w) ‘(r t y)) $ (CONS 5)

((q w) r t y) (5)

Зазначимо, що якщо результатом обчислення виразу (CONS object list) буде new, то результатом (CAR new) буде object, а результатом (CDR new) буде list, тобто

(CAR (CONS object list)) = object,

(CDR (CONS object list>)) = list.

$ (CAR (CONS ‘(q w) ‘(r (t y)))) $ (CAR (CONS apple NIL))

(q w) apple

Функцією порівняння є EQL. Вона порівнює значення першого та другого аргумента, які обов’язково повинні бути атомами, та повертає значення істини (Т) або хибності (NIL).

$ (EQL ‘qw ‘qw) $ (EQL (CAR ‘(q w)) q)

T T

$ (EQL (CAR ‘(q, w) NIL) $ (EQL nil ‘(nil))

NIL NIL

При написанні програм на Ліспі часто виникає запитання: чи є даний об’єкт атомом? Це питання вирішує предикат ATOM. Він повертає Т, якщо об’єкт є атомом і NIL в іншому випадку. Порожній список NIL є атомом.

$ (ATOM qwerty) $ (ATOM ‘(q w e)) $ (ATOM ‘())

T NIL T

$ (ATOM ‘(q)) $ (ATOM 3) $ (ATOM ‘(NIL))

F T NIL

3. Функції призначення

Функції призначення застосовуються для надання значень програмним змінним. До них відносяться:

1. (SET symbol object)

— заміна символа об’єктом

2. (SETQ sym1 form1 sym2 form2 ... )

— спеціальна форма функції SET

3. (PSETQ sym1 form1 sym2 form2 ... )

— спеціальна форма функції SET

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