Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > LISP > Помогите пожалуйста разобраться с функцией list


Автор: glrain 27.2.2015, 13:36
Для решения одной задачи мне нужно создать список из подсписков. Дело вроде простое, возмьем функцию list и всё. Но при тестировании возникла ошибка, она такая:
(setf x '(or (neg p) (a (:b) b)))
=> (OR (NEG P) (A (:B) B))
(setf y '(impl (p) (a (:b :s :oi) b)))
=> (IMPL (P) (A (:B :S :OI) B))
(setf x (list 'plus x))
=> (PLUS (OR (NEG P) (A (:B) B)))
(setf y (list 'minus y))
=> (MINUS (IMPL (P) (A (:B :S :OI) B)))
(setf result (list x y))
=> ((PLUS (OR (NEG P) (A # B))) (MINUS (IMPL (P) (A # B))))

Как заметили, последний вызов не даёт желаемый ответ. Объясните пожалуйста, люди добрые, откуда взялись символы #, и как можно избегать эту проблему.
Заранее благодарю!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)