Переписать код common lisp без eval
Переписать код common lisp без eval:
(setf lst '(a b c) a 1 b 2 c 3)
(mapcar #'eval lst) => (1 2 3))
C `, не получается.
Зачем это надо - есть функция на вход которой подается квотированное математическое выражение, функция его преобразует в формулу latex. Затем на вход той же функции надо подать то же математическое выражение, но чтобы переменные вычислились в свое значение.
Ответы (1 шт):
Автор решения: Grundy
→ Ссылка
В данном случае для получения значения символов можно воспользоваться функцией symbol-value
(mapcar #'symbol-value lst) => (1 2 3))