Lorsque je charge le package "itérer" à l'aide de Quicklisp ((ql:quickload "iterate")
), il semble se charger correctement mais aucune des fonctions ne fonctionne réellement. Lorsque j'entre (iterate:iter (for i from 0 to 10) (collect i))
, j'obtiens une erreur indiquant "La variable I n'est pas liée" et plusieurs avertissements de style indiquant que COLLECT et FOR sont des fonctions non définies et FROM une variable indéfinie. La même chose se produit si j'essaie d'utiliser ITER ou ITERATE au lieu d'ITERATE: ITER. J'utilise SBCL.Utilisation de iterate après l'installation avec Quicklisp
3
A
Répondre
3
Les "opérateurs" des clauses résident également dans le package iterate
:
(iterate:iter (iterate:for i from 1 to 10) (iterate:collect i))
Itérer est un package qui est souvent commode de use-package
(ou :use
dans la définition du paquet).
2
Ce n'est pas une solution de travail, mais je suis très curieux de trouver moi-même, donc, peut-être quelqu'un me hep aussi :)
(defun old-package() (package-name *package*))
(defmacro i++ (&body body)
(let ((old (package-name *package*))
(new (package-name (find-package 'iterate))))
(in-package #.(package-name (find-package 'iterate)))
(prog1
`(unwind-protect
(progn
(in-package ,new)
(iter ,@body))
(in-package ,old))
(in-package #.(old-package)))))
Maintenant, cela ne fonctionnera pas parce que les symboles de le corps est défini dans l'ancien paquet (cl-user
par exemple) et une fois que vous essayez de les utiliser dans le paquet iterate
, tout est cassé. Mais il doit y avoir un moyen ... à côté de remplacer tous les symboles potentiellement dans iterate
paquet ...
Questions connexes
- 1. Impossible de charger sdl-GFX dans quicklisp
- 2. Problème de quicklisp avec clisp sous Windows 7
- 3. Iterate intelligemment
- 4. Iterate JSON chaîne d'objet
- 5. Quicklisp Impossible d'installer LIBSSL pour Hunchentoot
- 6. projets Passer avec ant Iterate projets
- 7. Iterate Hash Map
- 8. Champs Iterate Form
- 9. Java Iterate Over Collection
- 10. Algorithme Iterate SQL SP
- 11. BackboneJS Modèle de complexe Iterate
- 12. Iterate Gridview par jquery
- 13. MSBuild Iterate Propriétés
- 14. Iterate Sql.result set
- 15. Iterate Multiple DataTables
- 16. Iterate Vertex Buffer
- 17. PHP Iterate loop
- 18. Iterate through StringProperty
- 19. fonction d'appel de macro à l'intérieur paquet Quicklisp
- 20. Javascript - Iterate sans clé JSON
- 21. SSIS To Iterate Access Tables
- 22. Liste d'objets JSP iterate trough
- 23. Iterate Mongoose Propriétés dans Jade
- 24. JTable et Iterate Bound ObservableList
- 25. Button Click Iterate Through Images
- 26. Iterate dans un UItableview - iphone
- 27. Javascript Iterate gestionnaires d'événements/écouteurs
- 28. ITERATE (dans un arbre Python)
- 29. Iterate et comparer Java Liste
- 30. Iterate et modifier le dictionnaire
Merci. J'ai mis ': use' au début de mon fichier, mais il ne compile pas et donne un avertissement que le paquet" exporte aussi les symboles suivants: (preprocess-clause define-clause config2 ...) "et une énorme liste de symboles. Au début de mon fichier, j'ai '(defpackage: foo (: use: cl: itérer)) (in-package: foo)'. Toute la documentation que j'ai lu à ce sujet semble indiquer que cela devrait fonctionner, mais ce n'est pas le cas. – lightlike