> 1 <

Автор Сообщение

MemphisRains

Members


Статус

2 сообщений

Где: Ukraine
Род занятий:
Возраст:

#6017   2012-04-22 19:14 GMT+3 часа(ов)      
(DEFUN DIFFER (LAMBDA (LST1 LST2)
; Функцию DIFFER возвращает разность множеств LST1 и ;
; LST2, т.е. удаляет из множества LST1 все общие с ;
; множеством LST2 элементы ;
(COND ( (NULL LST1) NIL )
( (NULL LST2) LST1 )
( (MEMBER (CAR LST1) LST2)
(DIFFER (CDR LST1) LST2) )
( T (CONS (CAR LST1)
(DIFFER (CDR LST1) LST2)) )
)
))


Нашел такой вот пример, расскажите пожалуйста как вывести результат?
Насколько я понимаю DIFFER это наша функция, LST1 и LST2 две переменные, как в них задать списки?

Пытался вот так DIFFER (LST1'(d s s) LST2'(s d w)), но говорит что переменные не определены.
Помогите чайнику....

kreol

Members


Статус

87 сообщений

Где: Ukraine Днепропетровск
Род занятий: студент
Возраст: 29

#6018   2012-04-22 20:08 GMT+3 часа(ов)      
(DIFFER '(a b c d e) '(a b c s r))

MemphisRains

Members


Статус

2 сообщений

Где: Ukraine
Род занятий:
Возраст:

#6020   2012-04-22 20:37 GMT+3 часа(ов)      
Цитата
kreol :
(DIFFER '(a b c d e) '(a b c s r))



CL-USER 2 >    
(DIFFER '(a b c d e) '(a b c s r))
 
Error: Non-symbol (LST1 LST2) used as variable name in function DIFFER.
1 (abort) Return to level 0.
2 Return to top loop level 0.
 
Type :b for backtrace, :c <option number> to proceed, or :? for other options
 
> 1 <


Онлайн :

0 пользователь(ей), 50 гость(ей) :