Функції планування, Детальна інформація
Функції планування
$ (NOTANY 'EQL '(DOG CAT COW) '(COW CAT DOG))
NIL
$ (NOTANY 'ODDP (LIST 0 (+3 3) 7/2))
T
(EVERY <тест>, <список1>, <список2>, ..., <списокN>). Якщо тест видає NIL, EVERY повертає NIL. Якщо зустрінеться кінець списку, EVERY повертає Т. Функцію EVERY можна визначити наступним чином:
(DEFUN EVERY (TST LST1 LST2)
(LOOP
((OR (NULL LST1) (NULL LST2)) NIL)
((NOT (FUNCALL TST (POP LST1) (POP LST2))) T) )
$ (EVERY 'EQL '(DOG CAT COW) '(DOG CAT PIG))
NIL
$ (EVERY 'ODDP (LIST 3 5 7 11 13))
T
(NOTEVERY <тест>, <список1>, <список2>, ..., <списокN>). Якщо тест повертає NIL, NOTEVERY повертає Т. Якщо зустрінеться кінець спискy, NOTEVERY повертає NIL. Функцію NOTEVERY можна визначити наступним чином:
(DEFUN NOTEVERY (TST LST1 LST2)
(NOT (EVERY TST LST1 LST2)) )
$ (NOTEVERY 'EQL '(DOG CAT COW) '(DOG CAT PIG))
T
$ (NOTEVERY 'STRING< '(BILL JACK JOE) '(BUD JIM SUE))
NIL
(REDUCE <функція> <список> <початкове значення>) перетворює значення елементів <списку> до простого значення, використовуючи <функцію> - функцію двох аргументів. Перетворення відбувається у відповідності з початковим значенням зліва направо. По замовченню початковим значенням для операції + є 0, для * є 1.
$ (REDUCE 'CONS '(A B C D)) $ (REDUCE '* '(2 3 5 7))
(((A . B) . C) . D) 210
$ (REDUCE '+ NIL)
0
$ (REDUCE '* '(2 3 5 7) -2) $ (REDUCE '* NIL)
-420 1
Розглянемо задачу транспонування матриці, поданої у вигляді складного списку. Функція TRANS транспонує матрицю.
(DEFUN TRANS (matr)
((EVERY 'NULL matr) NIL)
NIL
$ (NOTANY 'ODDP (LIST 0 (+3 3) 7/2))
T
(EVERY <тест>, <список1>, <список2>, ..., <списокN>). Якщо тест видає NIL, EVERY повертає NIL. Якщо зустрінеться кінець списку, EVERY повертає Т. Функцію EVERY можна визначити наступним чином:
(DEFUN EVERY (TST LST1 LST2)
(LOOP
((OR (NULL LST1) (NULL LST2)) NIL)
((NOT (FUNCALL TST (POP LST1) (POP LST2))) T) )
$ (EVERY 'EQL '(DOG CAT COW) '(DOG CAT PIG))
NIL
$ (EVERY 'ODDP (LIST 3 5 7 11 13))
T
(NOTEVERY <тест>, <список1>, <список2>, ..., <списокN>). Якщо тест повертає NIL, NOTEVERY повертає Т. Якщо зустрінеться кінець спискy, NOTEVERY повертає NIL. Функцію NOTEVERY можна визначити наступним чином:
(DEFUN NOTEVERY (TST LST1 LST2)
(NOT (EVERY TST LST1 LST2)) )
$ (NOTEVERY 'EQL '(DOG CAT COW) '(DOG CAT PIG))
T
$ (NOTEVERY 'STRING< '(BILL JACK JOE) '(BUD JIM SUE))
NIL
(REDUCE <функція> <список> <початкове значення>) перетворює значення елементів <списку> до простого значення, використовуючи <функцію> - функцію двох аргументів. Перетворення відбувається у відповідності з початковим значенням зліва направо. По замовченню початковим значенням для операції + є 0, для * є 1.
$ (REDUCE 'CONS '(A B C D)) $ (REDUCE '* '(2 3 5 7))
(((A . B) . C) . D) 210
$ (REDUCE '+ NIL)
0
$ (REDUCE '* '(2 3 5 7) -2) $ (REDUCE '* NIL)
-420 1
Розглянемо задачу транспонування матриці, поданої у вигляді складного списку. Функція TRANS транспонує матрицю.
(DEFUN TRANS (matr)
((EVERY 'NULL matr) NIL)
The online video editor trusted by teams to make professional video in
minutes
© Referats, Inc · All rights reserved 2021