я получаю несколько предупреждений в моей программе на Лиспе, но я не знаю, как их решить
Это мой код и предупреждение. Если кто-нибудь знает, как я могу избавиться от предупреждений, я буду благодарен за то, что мой код дает правильный результат.
я получаю несколько предупреждений в моей программе на Лиспе, но я не знаю, как их решить
Это мой код и предупреждение. Если кто-нибудь знает, как я могу избавиться от предупреждений, я буду благодарен за то, что мой код дает правильный результат.
Их два способа:
FOR
и IN
FOR
и IN
Пример:
CL-USER 30 > (defmacro foo (bar)
`(list))
FOO
CL-USER 31 > (compile 'foo)
;;;*** Warning in FOO: BAR is bound but not referenced
FOO
((FOO #<CONDITIONS::SIMPLE-STYLE-WARNING 402000E4DB>))
NIL
CL-USER 32 > (defmacro foo (bar)
(declare (ignore bar))
`(list))
FOO
CL-USER 33 > (compile 'foo)
FOO
NIL
NIL
Я понимаю это, но что я должен добавить в свой код, чтобы убрать предупреждения? –
@Tim Jones: Вы видели пример? –
Да, но я точно не понимаю. –
HTTP://stackoverflow.com/q uestions/267862/what-make-lisp-macros-so-special –
Пожалуйста, разместите фактический код, а не изображение кода. –
Я думаю, вы не понимаете, что делает список аргументов ** defmacro **. Выполнение '(defmacro lcomp (exp для var в списке) ...)' означает, что вы можете вызвать '(lcomp a b c d e)'. Я не думаю, что это то, чего вы ожидаете, не так ли? –