Раньше я использовал функцию «быть элементами» цикла для повторения последовательности неизвестного типа. Я только что узнал, что «быть элементами» не предоставляется в каждой реализации Common Lisp, и мне интересно, есть ли какой-либо чистый способ итерации по последовательности с использованием цикла. Лучшим решением, с которым я смог прийти, является принуждение последовательности к списку, а затем повторение этого.Как перебрать последовательность в Common Lisp с помощью цикла?
7
A
ответ
10
Нет, LOOP
не предоставляет такую функцию напрямую. Если ваша реализация LOOP
расширяема (о чем и не говорится в стандарте), возможно, вы сможете реализовать такую функцию.
LOOP
имеет пункты для перебирать списки - for item in list
- и условие для перебора вектора - for e across vector
- обратите внимание, что строки являются также векторами, одномерными массивами. Но не оба вместе.
В противном случае используйте MAP
или MAP-INTO
для повторения последовательностей.
ITERATE
макрос обеспечивает такую функцию: for i in-sequence seq
.
Смежные вопросы
- 1. Common Lisp: Как построить выражение цикла с помощью макроса?
- 2. Циркуляр в Common Lisp
- 3. Замены в Common Lisp
- 4. Ассоциация в Common Lisp
- 5. Потоки в Common Lisp?
- 6. Как перевести часть цикла Common Lisp в Clojure? ... функциональная ориентация
- 7. Как избежать завершения скрипта в Common Lisp?
- 8. Цитата из Common Lisp
- 9. Weird синтаксис Common Lisp
- 10. Удаление типа в Common Lisp
- 11. Common Lisp рекурсивных макроподстановок
- 12. Как обрабатывать акценты в Common Lisp (SBCL)?
- 13. Как перебрать последовательность пробелов?
- 14. Как проследить в Common Lisp с помощью gcl?
- 15. Common Lisp SublimeREPL
- 16. Как построить Common Lisp-проект?
- 17. common lisp и emacs
- 18. Как загрузить библиотеку в Common Lisp?
- 19. Matrix Transpose Common Lisp
- 20. Common Lisp: создание каталога
- 21. Common lisp: Как реализовать сокращение
- 22. Common Lisp: как отобразить точку?
- 23. Common lisp gray streams
- 24. Common Lisp Упражнения/Проблемы
- 25. Webdevelopment in Common Lisp
- 26. Сортировка полиномов Common Lisp
- 27. Реализация Common Lisp `format`
- 28. Типовое программирование в Common Lisp?
- 29. Интроспекция класса в Common Lisp
- 30. Сравнение символов в Common Lisp