In precedenza avevo utilizzato la funzionalità "being the elements of" del ciclo per scorrere su una sequenza di un tipo sconosciuto. Ho appena scoperto che "essere gli elementi di" non è fornito in ogni implementazione di Common Lisp e mi chiedo se ci sia un modo pulito per iterare su una sequenza usando loop. La soluzione migliore che sono riuscito a ottenere è quella di forzare la sequenza in una lista e poi scorrere su quella.Come eseguire iterazioni su una sequenza in Common Lisp con loop?
7
A
risposta
10
No, LOOP
non fornisce direttamente tale funzione. Se l'implementazione dello LOOP
è estensibile (di cui lo standard non dice nulla), potresti essere in grado di implementare tale funzione.
LOOP
ha clausole per iterare su liste - for item in list
- e una clausola per iterare su un vettore - for e across vector
- di notare che le stringhe sono anche vettori, matrici unidimensionali. Ma non entrambi insieme.
Altrimenti utilizzare MAP
o MAP-INTO
per iterare su sequenze.
La macro ITERATE
fornisce questa funzionalità: for i in-sequence seq
.
Problemi correlati
- 1. loop su caratteri in stringa, Common Lisp
- 2. Common Lisp Binding in Loop Macro
- 3. Common Lisp su Heroku con Hunchentoot?
- 4. Moltiplicazione matrice in Common Lisp
- 5. Come eseguire la corrispondenza del modello in Common Lisp
- 6. Come eseguire iterazioni su una stringa
- 7. In Common Lisp cos'è una rappresentazione stampata?
- 8. (comporre) in Common Lisp
- 9. Stream in Common Lisp?
- 10. Come funziona append in Common Lisp?
- 11. Come eseguire iterazioni su MultiKeyMap?
- 12. Problemi con ltk (common lisp)
- 13. Come posso fare il costruttore di una struttura di valutare in sequenza in Common Lisp?
- 14. Scrittura di una macro ++ in Common Lisp
- 15. Scraping una tabella HTML in Common Lisp?
- 16. Elenco circolare in Common Lisp
- 17. Sviluppo Web in Common Lisp
- 18. Common lisp gray stream
- 19. Common Lisp - Utilizzando una funzione come input per un'altra funzione
- 20. Ridenominazione lambda in Common Lisp
- 21. Esercizi Common Lisp/problemi
- 22. Come eseguire iterazioni su una stringa in C?
- 23. Association nel Common Lisp
- 24. Come eseguire iterazioni su una struttura hash yaml in rubino?
- 25. Common Lisp definizione pacchetto
- 26. Come posso eseguire iterazioni su ManyToManyField?
- 27. Common Lisp: creazione di una directory
- 28. Tracciare i dati in sequenza da emacs utilizzando Common Lisp e Gnuplot
- 29. Come eseguire iterazioni su un array 2D con un singolo loop?
- 30. Mandelbrot Imposta implementazione in Common Lisp