Функції модифікатора, Детальна інформація
Функції модифікатора
((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. Повертає кількість символів в 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)
((NULL lst)) $ (symmax 1222334)
(SETQ el (CAR lst) ct 0) (\2 . 3 )
(LOOP
((NOT (EQL (CAR lst) el)))
(POP lst)
(INCQ ct) )
(IF (> ct endct) (SETQ endct ct endel el)) )
(CONS endel endct) )
((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
$ (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)
((NULL lst)) $ (symmax 1222334)
(SETQ el (CAR lst) ct 0) (\2 . 3 )
(LOOP
((NOT (EQL (CAR lst) el)))
(POP lst)
(INCQ ct) )
(IF (> ct endct) (SETQ endct ct endel el)) )
(CONS endel endct) )
The online video editor trusted by teams to make professional video in
minutes
© Referats, Inc · All rights reserved 2021