2017-02-06 3 views
1

Я сохраняю значение переменной (setf num (+ 4 5)) вот так и Я сохраняю (setf str '("Hello")).Lisp - Сделать список с переменным значением

А затем я хочу составить список (setq v '(num str)). Однако из-за одиночной цитаты он не распознает его как строку и не работает должным образом.

как я могу составить список с переменной стоимостью?

+0

Используйте [ 'list'] (http://clhs.lisp.se/Body/f_list_.htm) или ['cons'] (http://www.lispworks.com/documentation/lw70/CLHS/Body/f_cons.htm) – Sylwester

+0

(список num str) или минусы его не работают. Как использовать эту функцию? –

+0

'(list var1 var2)' такой же как '(cons var1 (cons var2 '()))'. Что не работает? – Sylwester

ответ

1

special operatorquote предотвращает оценку ваших переменных.

Вам нужно вызвать function (который оценивает свои аргументы), например, list:

(list num str) 
==> (9 "Hello") 
+0

Спасибо. Но не могли бы вы посмотреть мои комментарии по вышеуказанному вопросу? –

+0

Добро пожаловать. Вы должны задать отдельный вопрос для каждого вопроса вместо того, чтобы начинать разговор с комментариями. – sds

+0

Проблема решена. Спасибо за ответ. –

Смежные вопросы