Реферат: Функції модифікатора

$ (STRING-UPCASE “Lisp Is A Language”) $ (STRING-UPCASE ‘(a s d))

|LISP IS A LANGUAGE| NIL

8. STRING-DOWNCASE <atom>. Повертає символ, P - ім’я якого співпадає з P - іменем атома, але всі його літери перетворюються в маленькі. Якщо <atom> не є атомом, повертається NIL.

$ (string-upcase |This is A TEXT|) $ (string-downcase |This is A TEXT|)

|THIS IS A TEXT| |this is a text|

$ (STRING-UPCASE ‘i) $ (STRING-DOWNCASE ‘I)

I \i

9. FINDSTRING <atom1> <atom2> <n>. Повертає номер позиції першого входження P - імені атома1 в P - ім’я атома2. Якщо <n> - ноль або додатне ціле, пошук починається з n-ого символа атома2. Якщо P - ім’я атома1 не знайдено, повертається NIL.

(DEFUN FINDSTRING (ATM1 ATM2 N)

((OR (NOT (ATOM ATM1)) (NOT (ATOM ATM2))) NIL)

((PLUSP N)

((NULL (FINDSTRING ATM1 (SUBLIST ATM2))) NIL)

(+ N (FINDSTRING ATM1 (SUBLIST ATM2 N))) )

((якщо ATM1 єпідрядком ATM2)

(позиція ATM1, на якій воно вперше зустрічається у ATM2) ) )

$ (FINDSTRING ‘BC ‘ABCDEFG) (FINDSTRING ‘abc ‘abdeabcde)

1 4

10. PRINT-LENGTH <atom>. Повертаєкількістьсимволівв P - іменіатомазурахуваннямзначеньконтрольнихзмінних *PRINT-BASE* та *PRINT-ESCAPE*.

$ (DEFUN PRINT-LENGTH (atm)

((ATOM atm) (LENGTH (UNPACK atm)))

$ (PRINT-LENGTH ‘Mulisp)

6

$ (PRINT-LENGTH -156) $ (PRINT-LENGTH NIL)

4 3

Розглянемо функцію, яка для заданого атома знаходить максимальну кількість літер, яка в ньому йде підряд. Повернути конс, який складається з літери та числа. Наприклад, для атома a22eeerty повернути (e . 3).

(DEFUN symmax (atm) $ (symmax ‘a22eeerty)

((NOT (ATOM atm)) NIL) (e . 3)

(SETQ lst (UNPACK atm) endel (ASCII 0) endct 0) $ (symmax ‘nil)

(LOOP (n . 1)

К-во Просмотров: 237
Бесплатно скачать Реферат: Функції модифікатора