Мова програмування Лiсп, Детальна інформація
Мова програмування Лiсп
$ (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)
$ (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
© Referats, Inc · All rights reserved 2021