Ich habe gehört, dass auf die aktive Symboltabelle innerhalb der Common Lisp-Laufzeit zugegriffen werden kann. Habe ich missverstanden?Zugriff auf aktive Symboltabelle in Common Lisp
Antwort
'Symboltabellen' werden genannt 'Pakete' in Common Lisp. Siehe zum Beispiel: Introduction to Packages, CL HyperSpec.
Mehrere Operationen über Pakete sind in Common Lisp verfügbar: The Packages Dictionary.
Symbols können Mitglieder von Paketen sein (interniert). Die Variable *package* enthält ein Paket als Wert, der von mehreren Vorgängen verwendet wird, die standardmäßig ein Paket verwenden. Ein Beispiel ist die 'reader', die standardmäßig in dem Paket * package * nachschlägt.
ohhh also das ist, wo Perl-Pakete kommen, und warum alle Typeglobs, die Einträge sind immer an ein Paket O.o gebunden sind – Dmitry
Sie können do-all-symbols
verwenden.
Siehe here für eine ähnliche Frage. Die angenommene Antwort enthält einige Details zu Paketen, was praktisch ist.
So etwas in Code. Definieren useful-symbol-p
wie Sie sehen, passen:
(let ((lst()))
(do-all-symbols (s lst)
(when (useful-symbol-p s) (push s lst)))
lst)
- 1. Klassenintrospektion in Common Lisp
- 2. Webentwicklung in Common Lisp
- 3. (komponieren) in Common Lisp
- 4. Common LISP auf iPhone/iOS
- 5. Vereinigung in Common Lisp
- 6. Alias-Paketnamen in Common Lisp
- 7. Common Lisp Timer
- 8. Common Lisp Programmatic Schlüsselwort
- 9. Statistikpakete für Common Lisp
- 10. Best Common Lisp IDE
- 11. Reset-Zustand in Common Lisp
- 12. Funktion Persistenz in Common Lisp
- 13. Listen in Common Lisp transponieren
- 14. Integer-Teilung in Common Lisp?
- 15. Matrix-Multiplikation in Common Lisp
- 16. Typspezifizierer in Common Lisp verstehen
- 17. Bäume in Common Lisp zeichnen
- 18. Common Lisp-Übungen/Probleme
- 19. ELF Symboltabelle Zugriff in C
- 20. Common Lisp CFFI: Zeiger auf den Zeiger
- 21. Common Lisp entspricht C enums
- 22. Probleme mit ltk (common lisp)
- 23. Common Lisp: Was bedeutet # + null?
- 24. Common Lisp Fehler nicht verstanden
- 25. Common Lisp Äquivalent eines Python Idiom
- 26. Schreiben eines ++ Makros in Common Lisp
- 27. Wie benötigt man Schlüsselwortargumente in Common Lisp?
- 28. Definieren von Setf-Expandern in Common Lisp
- 29. Python enumerate() analog in Common Lisp
- 30. Eine effiziente Sammelfunktion in Common Lisp
Was meinen Sie mit "aktive Symboltabelle"? –