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

Мова програмування Лiсп
Тип документу: Реферат
Сторінок: 5
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 11.2
Скачувань: 917
$ (CDR (CDR '((q 1) (w 2) (e 3)))) $ (CAR (CAR '((q w))))

$ (CDDR '((q 1) (w 2) (e 3))) $ (CAAR '((q w)))

((e 3)) q

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

$ (CONS '(q w) '(r (t y))) $ (CONS apple '(q w)) $ (CONS '(q w) '(r t y)) $ (CONS 5)

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

Якщо результатом виразу (CONS object list) буде new, то результатом (CAR new) буде object, а результатом (CDR new) буде list.

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

(q w) apple

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



o

\x1C00'qw) $ (EQL (CAR '(q w)) q) $ (EQL (CAR '(q,w) NIL)

T T F

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

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

T F T

$ (ATOM '(q)) $ (ATOM 3)

F T

Функцiї призначення

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

1. (SET symbol object) - замiна символа об'єктом

2. (SETQ sym1 form1 sym2 form2 ... ) - спецiальна форма функцiї SET

3. (PSETQ sym1 form1 sym2 form2 ... ) - спецiальна форма функцiї SET

4. (POP symbol) - повертає вершину стека (списку)

5. (PUSH symbol form) - кладе символ symbol в стек (список) form.

Операцiя замiни значення символа здiйснюється за допомогою функцiї SET. Вона присвоює символу symbol значення object, або зв'язує symbol з object. Для скорочення замiсть SET ' пишуть SETQ (SET Quote). Як результат функцiя присвоєння повертає другий аргумент.

$ (SET 'fox '(a s d)) $ (SETQ vowels '(a e i o u)))

$ (SETQ fox '(a s d)) $ (SETQ vowels (CONS 'y vowels))

(a s d) (y a e i o u)

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