Почему не работает? - Lisp (229422)
Формулировка задачи:
От скуки захотелось написать функцию, которая бы изменяла(map) список последовательно с помощью данных функций.
(defun map-list-with (lst func &rest other-funcs) (if (not (null other-funcs)) (map-this-with (mapcar func lst) (car other-funcs) (cdr other-funcs)) (mapcar func lst))) * (map-list-with '(1 2 3 4 5) #'1+) (2 3 4 5 6) * (map-list-with '(1 2 3 4 5) #'1+ #'1+) ;; had to be (3 4 5 6 7) debugger invoked on a UNDEFINED-FUNCTION in thread #<THREAD "main thread" RUNNING {10029A49E3}>: The function COMMON-LISP:NIL is undefined. Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL. restarts (invokable by number or by possibly-abbreviated name): 0: [ABORT] Exit debugger, returning to top level. (SB-KERNEL:%COERCE-CALLABLE-TO-FUN NIL) 0] 0
Решение задачи: «Почему не работает?»
textual
Листинг программы
(map (compose 1+ 10*) '(1 2 3))
Объяснение кода листинга программы
Код представлен в виде списка с однородными элементами, где каждый элемент - это ассоциация с двумя элементами: название переменной и ее значение.
(map (compose 1+ 10*) '(1 2 3))
compose
- это функция высшего порядка, которая принимает функцию и аргументы этой функции и возвращает результат выполнения функции с аргументами.1+
- это функция, которая принимает одно число и возвращает результат увеличения этого числа на 1.'(1 2 3)'
- это строка, которая содержит список чисел.map
- это функция, которая принимает функцию и список аргументов, и возвращает новый список, где каждый элемент - это результат выполнения функции с соответствующим аргументом.10*
- это функция, которая принимает одно число и возвращает это число, умноженное на 10.- Результатом выполнения кода будет новый список, где каждое число из исходного списка будет увеличено на 1 и затем умножено на 10.
- Если вы видите ошибку в коде, возможно, она связана с неправильным использованием функций или неправильной постановкой задачи.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д