Я пытался понять, как использовать циклы в LISP, и они по-прежнему не работают корректно. Я пробовал использовать следующий код:Как использовать циклы в LISP
(loop for i from 0 to (list-length y)
(when (eq (values-list (nth i (car y))) 0)
(return-from checkZero t)))
Который должен пройти через мой список, если мое значение равно 0 или нет. Если он равен, то он должен вернуться из цикла и выйти из него, иначе он должен работать до тех пор, пока он не достигнет длины списка. Думаю ли я об этом неправильно, и если да, то как мне заняться фиксацией этого цикла?
(я не уверен, что если мой фактический код работает или не так как я до сих пор имеет дела с ошибками, порожденными неправильно используемой петлей, и я не могу найти много хороших ресурсов для использования петли онлайн)
Удалите скобки '(если (эк ...) (return-from ...)) 'so to have' when (eq ...) (return-from ...) 'и помещать' do' before' (return-from ...) '. – Renzo
[Практический общий Лисп] (http://www.gigamonkeys.com/book/) имеет главу о петле под названием [LOOP для черных поясов] (http://www.gigamonkeys.com/book/loop-for-black -belts.html). В книге [Страна lisp] (http://landoflisp.com/) у вас есть [практический чит-лист] (http://blog.idorobots.org/media/lolreview/3.png) – Sylwester