Обpобка масивiв
$ (UNPACK 'abcde)$ (UNPACK 216)$ (SETQ *PRINT-BASE 16*)
(a b c d e)(\2 \1 \6)$ (UNPACK 216)
(\0 \D \8)
2. PACK list. Повертає символ, P - iм'я якого складiється зi счеплених P - iмен атомiв у списку list. Для визначення P - iмен чисел використовується поточна система числення. Функцiя PACK завжди повертає символ, навiть якщо P - iм'я складається тiльки з однозначних чисел.
(DEFUN PACK (LST)
((ATOM LST) "")
((SYMBOLP (CAR LST)) (символ, P - iм'я якого складається з P - iменi (CAR LST),
сполучене з (PACK (CDR LST))) )
((NUMBERP (CAR LST)) (символ, P - iм'я якого складається з цифр у друкованому
представленi (CAR LST), сполучене з (PACK (CDR LST))) )
(PACK (CDR LST)) )
$ (PACK '(a b c d e)$ (PACK '(\7 \3 \1)$ (PACK '(Q \7 \A \1))
abcde|731|Q7A1
$ (PACK '(23 56)$ (PACK '("" 3 ||))
|2356|\3
3. PACK* atom1 ... atomN. Повертає символ, P-iм'я якого складається зi счеплених P-iмен атомiв. Ця функцiя є вузькою версiєю PACK, оскiльки вона працює не зi списком атомiв, а з будь-якою кiлькiстю атомiв.
(DEFUN PACK* LST
(PACK LST) )
$ (PACK* 'a 'b 'c)$ (PACK 4 'QW 'T)
ABC|4QWT|
4. CHAR atom n. Якщо atom - символ або число, а n - невiд'ємне цiле число, функцiя CHAR повертає символ, P - iм'я якого є n-ий символ P - iменi atom, причому вiдлiк символiв починається з 0. Функцiя повертає NIL якщо n не ноль i не додатне цiле число, або якщо P - iм'я атома atom мiстить меньш нiж n символiв.
(DEFUN CHAR (atm n)
((ATOM atm) (NTH n (UNPACK atm)) ) )
$ (CHAR 'ABCDE 3)$ (CHAR 12345 0)$ (CHAR 'qwe 8)