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