Common Lisp: immer alle Tasten einer gegebenen hash-Tabelle als Liste

Ich Frage mich, ob es eine weniger ausführliche Weise als mit Hilfe einer Schleife. Wie auch immer, das funktioniert für mich in CLISP:

(loop for key being the hash-keys of *my-hash* collect key)

Habe ich andere gesehen, die mit maphash, sondern dass auch ansammeln jede Taste in einer Liste. Abgesehen davon, dass Sie mehr als involviert mit Schleife, es führt auch eine Nebenwirkung, die ich versuchen zu vermeiden, Wann immer ich kann - ich bevorzuge die funktionale Programmierung so viel wie möglich 🙂

Gibt es irgendetwas vordefiniert, wie dies für diese gemeinsame Aufgabe, auch wenn die Umsetzung-spezifisch sind?

(defun hash-keys (hash-table)
  (loop for key being the hash-keys of hash-table collect key))
Schreibe einen Kommentar