Я пытаюсь создать лямбда-функции, которые используют один и тот же код, но имеют разные Внутренние параметры. Чтобы уточнить, я помещаю здесь код:Функциональность лямбда отличные параметры
(defun testes()
(setf lol '())
(loop for i in (list 1 2 3 4 5)
do (loop for j in (list 1 2 3 4 5)
do (setf lol (append lol (list (cons i j))))))
lol
)
(defun mainff()
(setf lol (testes))
(setf res())
(print lol)
(loop for i in lol
do (setf res (append res (list #'(lambda()
(print i)
))))
)
res
)
(defun fun()
(setf res (mainff))
(loop for i in res
do (funcall i)
)
)
Возвращаясь к Inicial вопрос, я в Append УЭ должен быть уникальным для каждого лямбда, который создается. Однако он сохраняет только последнее значение, которое он принимает (5 5). Любой способ решить это?
Где указаны ваши переменные? 'res' и' lol' не объявляются. Это ошибка. Вы также хотите правильно форматировать и отступать свой код. Добавление к концу списка плохо. Сокращенный из-за отсутствия усилий для написания хорошего кода. –
это просто тесты без моего фактического кода. Просто упрощенный пример сложного кода. И об отступлении, это было, когда я опубликовал здесь. – Massive
Извините, но для написания небрежного кода. Редакторы делают отступ, правильный код более читабельен. В основном ваш путь значительно затрудняет запись правильного кода. –